IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Kalkulacka - OOP

Kalkulacka pro OOP

Python

#!/usr/bin/env python3

class Kalkulacka:
    """Trida kalkulacka vypocita moznosti scitani, odcitani, deleni, nasobeni
    a mocneni 2 cisel"""
    
    def volba(self,text_zadani,text_chyba):
        """Volba uzivatele"""
        spatne = True
        while spatne:
            try:
                cislo = float(input(text_zadani))
                spatne = False
            except ValueError:
                print(text_chyba)
        return cislo

  
    def soucet(self,x,y):
        """Vrati soucet cisel"""
        return x+y

    def rozdil(self,x,y):
        """Vrati rozdil cisel"""
        return x-y

    def podil(self,x,y):
        """Vrati podil cisel"""
        vysledek = 0
        try:
            vysledek = x/y
        except ZeroDivisionError:
            print("Deleni nulou, nelze delit")
        return vysledek

    def nasobeni(self,x,y):
        """Vrati nasobek cisel"""
        return x*y

    def mocnina(self,x,y):
        "Vrati mocninu x na y"""
        return x**y
    
    def text(self):
        """Text moznosti kalkulacky"""
        print("1] soucet")
        print("2] rozdil")
        print("3] podil")
        print("4] nasobeni")
        print("5] mocneni")

    def moznost(self,x):
        """Vyber moznosti kalkulacky"""
        if x == 1:
            print("Soucet je =",kalkulacka.soucet(cislo1,cislo2))
        elif x == 2:
            print("Rozdil je =",kalkulacka.rozdil(cislo1,cislo2))
        elif x == 3: 
            if kalkulacka.podil(cislo1,cislo2) != 0:
                print("Podil je =", kalkulacka.podil(cislo1,cislo2))
            else:
                pass
        elif x == 4:
            print("Nasobeni je =",kalkulacka.nasobeni(cislo1,cislo2))
        elif x == 5:
            print("Mocneni je =",kalkulacka.mocnina(cislo1,cislo2))


    def cyklus(self):
        "Vyskoceni z cyklu kalkulacky"""
        nezadano = True
        while nezadano:
            pokracovani = input("Chces pokracovat?[y/n]:")
            if pokracovani == "y" or pokracovani == "Y":
                return True
            elif pokracovani == "n" or pokracovani == "N":
                return False
            else:
                print("Spatne zadani")
            

kalkulacka = Kalkulacka()
pokracovat = True
while pokracovat:
    cislo1 = kalkulacka.volba("Zvol 1. cislo:","Neni cislo, znovu!")
    cislo2 = kalkulacka.volba("Zvol 2. cislo:","Neni cislo, znovu!")
    kalkulacka.text()
    zvoleni = kalkulacka.volba("Zvol si moznost:","Neni cislo, znovu")
    kalkulacka.moznost(zvoleni)
    if kalkulacka.cyklus():
        pass
    else:
        pokracovat = False

input("Dekuji za pouziti... Zadej klavesu pro ukonceni")

Neformátovaný

Přidáno: 1.4.2018
Expirace: Neuvedeno

Avatar
Autor: Matěj K
Aktivity