Compare commits

..

1 Commits
main ... calcv2

Author SHA1 Message Date
10afa196c6 calc_super_ultra_rebuild_v2 2025-11-27 09:48:56 +00:00

182
calc.py
View File

@ -1,133 +1,61 @@
def main():
print("Welcome to the Calculator")
command = input("Select command: [ + ] [ - ] [ * ] [ / ] \nНапишите 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:
def main(total=None):
print("-=+=- / Welcome ту калькулейтор \ -=+=-\nВведите exit для выхода\n")
if total == None:
try:
total = float(input("Enter First number \n"))
total= float(input("Введите первое число\n"))
except ValueError:
print("Enter a valid number")
print("Введите число")
return
while True:
num_input = input("Enter numbers to summ or change command [ + ] [ - ] [ * ] [ / ]\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): #даём функции на первом запуске total = None чтобы присвоить ей значение первого введёного числа, чтобы не было -5 в минусе на первом вводе
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 or change command [ + ] [ - ] [ * ] [ / ]\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 or change command [ + ] [ - ] [ * ] [ / ]\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 or change command [ + ] [ - ] [ * ] [ / ]\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")
num_input = input("Введите операцию\n")
if num_input in ['' or ' ']:
print(f"Результат: {total}")
return total
match num_input:
case '+':
number = input("Введите число для суммы\n")
try:
num = float(number)
total+=num
print(f"Сумма = {total}")
main(total)
except ValueError:
print("Введите корректроное число")
main()
case "*":
number = input("Введите число для умножения\n")
try:
num = float(number)
total*=num
print(f"Умножение = {total}")
main(total)
except ValueError:
print("Введите корректроное число")
main()
case "-":
number = input("Введите число для разницы\n")
try:
num = float(number)
total-=num
print(f"Разница = {total}")
main(total)
except ValueError:
print("Введите корректроное число")
main()
case "/":
number = input("Введите делитель\n")
try:
num = float(number)
total/=num
print(f"Деление = {total}")
main(total)
except ValueError:
print("Введите корректроное число")
main()
case "exit":
exit()
case _:
main()
print("Введите число или функцию")
if __name__ == "__main__":
main() #запуск функции main, основа программы