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