Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 10afa196c6 |
178
calc.py
178
calc.py
@ -1,133 +1,61 @@
|
|||||||
def main():
|
def main(total=None):
|
||||||
print("Welcome to the Calculator")
|
print("-=+=- / Welcome ту калькулейтор \ -=+=-\nВведите exit для выхода\n")
|
||||||
command = input("Select command: [ + ] [ - ] [ * ] [ / ] \nНапишите exit если хотите выйти\n")
|
if total == None:
|
||||||
match command: #выбор команд
|
try:
|
||||||
case "+":
|
total= float(input("Введите первое число\n"))
|
||||||
summ()
|
except ValueError:
|
||||||
|
print("Введите число")
|
||||||
|
return
|
||||||
|
while True:
|
||||||
|
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 "*":
|
case "*":
|
||||||
multiplication()
|
number = input("Введите число для умножения\n")
|
||||||
|
try:
|
||||||
|
num = float(number)
|
||||||
|
total*=num
|
||||||
|
print(f"Умножение = {total}")
|
||||||
|
main(total)
|
||||||
|
except ValueError:
|
||||||
|
print("Введите корректроное число")
|
||||||
|
main()
|
||||||
case "-":
|
case "-":
|
||||||
minus()
|
number = input("Введите число для разницы\n")
|
||||||
|
try:
|
||||||
|
num = float(number)
|
||||||
|
total-=num
|
||||||
|
print(f"Разница = {total}")
|
||||||
|
main(total)
|
||||||
|
except ValueError:
|
||||||
|
print("Введите корректроное число")
|
||||||
|
main()
|
||||||
case "/":
|
case "/":
|
||||||
division()
|
number = input("Введите делитель\n")
|
||||||
|
try:
|
||||||
|
num = float(number)
|
||||||
|
total/=num
|
||||||
|
print(f"Деление = {total}")
|
||||||
|
main(total)
|
||||||
|
except ValueError:
|
||||||
|
print("Введите корректроное число")
|
||||||
|
main()
|
||||||
case "exit":
|
case "exit":
|
||||||
exit
|
exit()
|
||||||
case _:
|
case _:
|
||||||
print(KeyError("Incorrect"))
|
|
||||||
main()
|
main()
|
||||||
def summ(total=None):
|
print("Введите число или функцию")
|
||||||
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 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")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main() #запуск функции main, основа программы
|
main() #запуск функции main, основа программы
|
||||||
Loading…
Reference in New Issue
Block a user