ISPr32/calc.py
2025-11-07 19:17:56 +04:00

133 lines
4.5 KiB
Python

def main():
print("Welcome to the Calculator")
command = input("Select command: [ + ] [ - ] [ * ] [ / ] \nType exit if u want exit \n")
match command: #выбор команд
case "+":
summ()
case "*":
multiplication()
case "-":
minus()
case "/":
division()
case "exit":
exit
case _:
print(KeyError("Incorrect"))
main()
def summ(total=None):
print("Enter number(s) to summ, enter spase to finish calculating")
if total is None:
try:
total = float(input("Enter First number \n"))
except ValueError:
print("Enter a valid number")
return
while True:
num_input = input("Enter numbers to summ\n")
if num_input == " " or num_input == "":
print(total)
main()
if num_input in ["+", "-", "*", "/"]:
if num_input == "+":
return summ(total)
elif num_input == "-":
return minus(total)
elif num_input == "*":
return multiplication(total)
elif num_input == "/":
return division(total)
try:
number = float(num_input)
total += number
print(f"Total summ = {total}")
except ValueError:
print("Error, enter correct number")
def minus(total=None):
print("Enter number(s) to summ, enter spase to finish calculating")
if total is None:
try:
total = float(input("Enter First number \n"))
except ValueError:
print("Enter a valid number")
return
while True:
num_input = input("Enter numbers to minus\n")
if num_input == " " or num_input == "":
print(total)
main()
if num_input in ["+", "-", "*", "/"]:
if num_input == "+":
return summ(total)
elif num_input == "-":
return minus(total)
elif num_input == "*":
return multiplication(total)
elif num_input == "/":
return division(total)
try:
number = float(num_input)
total -= number
print(f"Total minus = {total}")
except ValueError:
print("Error, enter correct number")
def multiplication(total=None):
print("Enter number(s) to multuplicate, enter spase to finish calculating")
print("Enter number(s) to summ, enter spase to finish calculating")
if total is None:
try:
total = float(input("Enter First number \n"))
except ValueError:
print("Enter a valid number")
return
while True:
num_input = input("Enter numbers to multiplicate\n")
if num_input == " " or num_input == "":
print(total)
main()
if num_input in ["+", "-", "*", "/"]:
if num_input == "+":
return summ(total)
elif num_input == "-":
return minus(total)
elif num_input == "*":
return multiplication(total)
elif num_input == "/":
return division(total)
try:
number = float(num_input)
total *= number
print(f"Total multiplication = {total}")
except ValueError:
print("Error, enter correct number")
def division(total=None):
print("Enter number(s) to summ, enter spase to finish calculating")
if total is None:
try:
total = float(input("Enter First number \n"))
except ValueError:
print("Enter a valid number")
return
while True:
num_input = input("Enter numbers to division\n")
if num_input == " " or num_input == "":
print(total)
main()
if num_input in ["+", "-", "*", "/"]:
if num_input == "+":
return summ(total)
elif num_input == "-":
return minus(total)
elif num_input == "*":
return multiplication(total)
elif num_input == "/":
return division(total)
try:
number = float(num_input)
total /= number
print(f"Total division = {total}")
except ValueError:
print("Error, enter correct number")
if __name__ == "__main__":
main() #запуск функции main, основа программы