Přeskočit na obsah

Python/Kenjiro995/Kalkulačka2.0

Z Wikiverzity

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
****************************************************************