#python #calculator #new-operator #calculation
Вопрос:
Итак, у меня есть простой калькулятор на Python. Итак, что он делает, запрашивает операцию (например, сложение) и запрашивает первое число и второе число.
Допустим, я выбираю дополнение,
первый номер: 1
второе число: 1
результат: 2
И после этого я хочу, чтобы он спросил: введите {x}, чтобы начать новый расчет
Когда вы вводите x, он в основном перезапускает все, чтобы вы могли выполнить другой расчет. ( {x} может быть все, что я не возражаю)
Как мне это сделать?
текущий код:
print("Which operation do you want to do?") print("Type for addition") print("Type - for subtraction") print("Type * for multiplication") print("Type / for division") op = input('Enter your choice here = ') if op == ' ' : num1 = float(input("Enter the first number: ")) num2 = float(input("Enter the second number here: ")) add = num1 num2 print("{0} {1} is {2}".format(num1, num2, add)) elif op == '-' : num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) sub = num1 - num2 print("{0} - {1} is {2}".format(num1, num2, sub)) elif op == '*' : num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) multi = num1 * num2 print("{0} * {1} is {2}".format(num1, num2, multi)) elif op == '/' : num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) division = num1 / num2 print("{0} / {1} is {2}".format(num1, num2, division)) else : print("something went wrong!")
Комментарии:
1. используйте
while True
цикл вокруг всех ваших операций. И сломайте его, если будет нажато что-то другое, кроме x
Ответ №1:
вы можете поместить код внутри функции, а затем вызвать функцию в цикле while, второй ввод again
используется для прерывания цикла, как только пользователь закончит
print("Which operation do you want to do?") print("Type for addition") print("Type - for subtraction") print("Type * for multiplication") print("Type / for division") def function(op): if op == ' ' : num1 = float(input("Enter the first number: ")) num2 = float(input("Enter the second number here: ")) add = num1 num2 print("{0} {1} is {2}".format(num1, num2, add)) elif op == '-' : num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) sub = num1 - num2 print("{0} - {1} is {2}".format(num1, num2, sub)) elif op == '*' : num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) multi = num1 * num2 print("{0} * {1} is {2}".format(num1, num2, multi)) elif op == '/' : num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) division = num1 / num2 print("{0} / {1} is {2}".format(num1, num2, division)) else: print("something went wrong!") while True: op = input('Enter your choice here = ') function(op) again = input('Enter X to start new calculation: ') if again.lower() != 'x': break
Ответ №2:
while True: print("Which operation do you want to do?") print("Type for addition") print("Type - for subtraction") print("Type * for multiplication") print("Type / for division") print("Type 0 to exit") op = input('Enter your choice here = ') if op == ' ' : while True: num1 = float(input("Enter the first number: ")) num2 = float(input("Enter the second number here: ")) add = num1 num2 print("{0} {1} is {2}".format(num1, num2, add)) again = input("Would you like to add two other numbers? Y/N: ").capitalize().strip() if again == 'Y': continue else: break elif op == '-' : while True: num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) sub = num1 - num2 print("{0} - {1} is {2}".format(num1, num2, sub)) again = input("Would you like to subtract two other numbers? Y/N: ").capitalize().strip() if again == 'Y': continue else: break elif op == '*' : while True: num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) multi = num1 * num2 print("{0} * {1} is {2}".format(num1, num2, multi)) again = input("Would you like to multiply two other numbers? Y/N: ").capitalize().strip() if again == 'Y': continue else: break elif op == '/' : while True: num1 = float(input("Enter the first number here: ")) num2 = float(input("Enter the second number here: ")) division = num1 / num2 print("{0} / {1} is {2}".format(num1, num2, division)) again = input("Would you like to divide two other numbers? Y/N: ").capitalize().strip() if again == 'Y': continue else: break elif op == '0': print("Good bye!") break else : print("something went wrong!")
Ответ №3:
Для этого вы можете использовать цикл while. Используйте логическую переменную repeat, чтобы решить, хочет ли пользователь выполнить еще одно вычисление. Если пользователь вводит «x», повторение остается верным, и калькулятор перезапускается, но если пользователь вводит что-либо еще, повторение будет ложным, и цикл завершится:
repeat = True while repeat: #Your code here again = input('type x to start new calculation') repeat = again in ['x', 'X']