Python/Kenjiro995/Kalkulačka2.0
Vzhled
< Python | Kenjiro995
Kalkulačka 2.1
[editovat]- Od verze 2.1 díky příkazu while program testuje svůj stav a na konci cyklu se ptá jestli pokračovat (stav = "ano" znamená pokračovat, cokoliv jiného znamená nepokračovat)
stav = "ano"
while stav == "ano":
# Vstupy
cislo1 = input("Zadejte první číslo: ")
cislo2 = input("Zadejte druhé číslo: ")
print("Sčítání: +")
print("Odčítání: -")
print("Násobení: *")
print("Dělení: /")
operace = input("Zadejte početní operaci: ")
# testování cislo1 a cislo2
if cislo1.replace('.','',1).isdigit() and cislo2.replace('.','',1).isdigit():
cislo1 = float(cislo1)
cislo2 = float(cislo2)
#Výstupy
if operace == "+":
print(cislo1, "+", cislo2, "=", cislo1 + cislo2)
elif operace == "-":
print(cislo1, "-", cislo2, "=", cislo1 - cislo2)
elif operace == "*":
print(cislo1, "*", cislo2, "=", cislo1 * cislo2)
elif operace == "/":
print(cislo1, "/", cislo2, "=", cislo1 / cislo2)
else:
print("Je mi líto, ale takovou početní operaci neznám.")
else:
print("Špatný vstup, číslo1 a číslo2 nejsou ani celým, ani desetiným číslem.")
stav = input("Chcete pokračovat ano/ne: ")
print("*" * 64)
print()
Výstup:
Zadejte první číslo: 12.5 Zadejte druhé číslo: 30 Sčítání: + Odčítání: - Násobení: * Dělení: / Zadejte početní operaci: * 12.5 * 30.0 = 375.0 Chcete pokračovat ano/ne: ano **************************************************************** Zadejte první číslo: 360 Zadejte druhé číslo: 12 Sčítání: + Odčítání: - Násobení: * Dělení: / Zadejte početní operaci: / 360.0 / 12.0 = 30.0 Chcete pokračovat ano/ne: ne ****************************************************************
Kalkulačka 2.2
[editovat]- Přibily funkce: Celočíselné dělení, Dělení se zbytkem (modulo), Mocnina x^y, Odmocnina
stav = "ano"
while stav == "ano":
# Vstupy
cislo1 = input("Zadejte první číslo: ")
print("Sčítání: +")
print("Odčítání: -")
print("Násobení: *")
print("Dělení: /")
print("Celočíselné dělení: //")
print("Dělení se zbytkem (modulo): %")
print("Mocnina x^y: **")
print("Odmocnina: **/")
operace = input("Zadejte početní operaci: ")
cislo2 = input("Zadejte druhé číslo: ")
# testování cislo1 a cislo2
if cislo1.replace('.','',1).isdigit() and cislo2.replace('.','',1).isdigit():
cislo1 = float(cislo1)
cislo2 = float(cislo2)
#Výstupy
if operace == "+":
print(cislo1, "+", cislo2, "=", cislo1 + cislo2)
elif operace == "-":
print(cislo1, "-", cislo2, "=", cislo1 - cislo2)
elif operace == "*":
print(cislo1, "*", cislo2, "=", cislo1 * cislo2)
elif operace == "/":
print(cislo1, "/", cislo2, "=", cislo1 / cislo2)
elif operace == "//":
print(cislo1, "//", cislo2, "=", cislo1 // cislo2)
elif operace == "%":
print(cislo1, "%", cislo2, "=", cislo1 % cislo2)
elif operace == "**":
print(cislo1, "**", cislo2, "=", cislo1 ** cislo2)
elif operace == "**/":
print(cislo1, "**/", cislo2, "=", cislo1 ** (1 /cislo2))
else:
print("Je mi líto, ale takovou početní operaci neznám.")
else:
print("Špatný vstup, číslo1 a číslo2 nejsou ani celým, ani desetiným číslem.")
stav = input("Chcete pokračovat ano/ne: ")
print("*" * 64)
print()
Výstup:
Zadejte první číslo: 260 Sčítání: + Odčítání: - Násobení: * Dělení: / Celočíselné dělení: // Dělení se zbytkem (modulo): % Mocnina x^y: ** Odmocnina: **/ Zadejte početní operaci: **/ Zadejte druhé číslo: 2 260.0 **/ 2.0 = 16.1245154965971 Chcete pokračovat ano/ne: ano **************************************************************** Zadejte první číslo: 26 Sčítání: + Odčítání: - Násobení: * Dělení: / Celočíselné dělení: // Dělení se zbytkem (modulo): % Mocnina x^y: ** Odmocnina: **/ Zadejte početní operaci: % Zadejte druhé číslo: 16 26.0 % 16.0 = 10.0 Chcete pokračovat ano/ne: ano **************************************************************** Zadejte první číslo: 5 Sčítání: + Odčítání: - Násobení: * Dělení: / Celočíselné dělení: // Dělení se zbytkem (modulo): % Mocnina x^y: ** Odmocnina: **/ Zadejte početní operaci: ** Zadejte druhé číslo: 2 5.0 ** 2.0 = 25.0 Chcete pokračovat ano/ne: ne ****************************************************************
Kalkulačka 2.3
[editovat]- Výpisy se opakováním stávají nepřehledné, proto je výpis funkcí zobrazen pouze jednou po spuštění, což zvyšuje přehlednost.
# úvod s výpisem funkcí
print("******************************")
print("** Kalkulačka 2.3 **")
print("******************************")
print("Sčítání: +")
print("Odčítání: -")
print("Násobení: *")
print("Dělení: /")
print("Celočíselné dělení: //")
print("Dělení se zbytkem (modulo): %")
print("Mocnina x^y: **")
print("Odmocnina: **/")
print("******************************")
print()
# testování stavu programu
stav = "ano"
while stav == "ano":
# Vstupy
cislo1 = input("Zadejte první číslo: ")
operace = input("Zadejte početní operaci: ")
cislo2 = input("Zadejte druhé číslo: ")
# testování cislo1 a cislo2
if cislo1.replace('.','',1).isdigit() and cislo2.replace('.','',1).isdigit():
cislo1 = float(cislo1)
cislo2 = float(cislo2)
#Výstupy
if operace == "+":
print(cislo1, "+", cislo2, "=", cislo1 + cislo2)
elif operace == "-":
print(cislo1, "-", cislo2, "=", cislo1 - cislo2)
elif operace == "*":
print(cislo1, "*", cislo2, "=", cislo1 * cislo2)
elif operace == "/":
print(cislo1, "/", cislo2, "=", cislo1 / cislo2)
elif operace == "//":
print(cislo1, "//", cislo2, "=", cislo1 // cislo2)
elif operace == "%":
print(cislo1, "%", cislo2, "=", cislo1 % cislo2)
elif operace == "**":
print(cislo1, "**", cislo2, "=", cislo1 ** cislo2)
elif operace == "**/":
print(cislo1, "**/", cislo2, "=", cislo1 ** (1 /cislo2))
else:
print("Je mi líto, ale takovou početní operaci neznám.")
else:
print("Špatný vstup, číslo1 a číslo2 nejsou ani celým, ani desetiným číslem.")
stav = input("Chcete pokračovat ano/ne: ") # pokračovat nebo ukončit program?
print("*" * 64)
print()
Výstup:
****************************** ** Kalkulačka 2.3 ** ****************************** Sčítání: + Odčítání: - Násobení: * Dělení: / Celočíselné dělení: // Dělení se zbytkem (modulo): % Mocnina x^y: ** Odmocnina: **/ ****************************** Zadejte první číslo: 25 Zadejte početní operaci: + Zadejte druhé číslo: 100 25.0 + 100.0 = 125.0 Chcete pokračovat ano/ne: ano **************************************************************** Zadejte první číslo: 25 Zadejte početní operaci: //* Zadejte druhé číslo: 2 Je mi líto, ale takovou početní operaci neznám. Chcete pokračovat ano/ne: ano **************************************************************** Zadejte první číslo: 25 Zadejte početní operaci: **/ Zadejte druhé číslo: 2 25.0 **/ 2.0 = 5.0 Chcete pokračovat ano/ne: ne ****************************************************************