print("Enter a mathematical expression: ")
expression = input()
space = expression.find(" ")
oprand1 = expression[0 : space]
oprand1 = int(oprand1)
op = expression.find("+" or "*" or "-" or "/")
oprand2 = expression[op + 1 : ]
oprand2 = int(oprand2)
if op == "+":
ans = int(oprand1) + int(oprand2)
print(ans)
Позволява да кажем, че потребителят въвежда 2 + 3 с интервал между всеки знак. Как да го отпечатам 2 + 3 = 5? Имам нужда от кода да работи с всички операции.
Отговори:
0 за отговор № 1Бих предложил нещо по този начин, мисля, че вие може да има сложен анализ на стойностите извън изходния израз.
Можете просто да се обадите на.split () на входния низ, който по подразбиране разделя се на интервал "", така че низът "1 + 5" ще се върне ["1", "+", "5"]. След това можете да разопаковате тези стойности в трите си променливи.
print("Enter a mathematical expression: ")
expression = input()
operand1, operator, operand2 = expression.split()
operand1 = int(operand1)
operand2 = int(operand2)
if operator == "+":
ans = operand1 + operand2
print(ans)
elif operator == "-":
...
elif operator == "/":
...
elif operator == "*":
...
else:
... # deal with invalid input
print("%s %s %s = %s" % (operand1, operator, operand2, ans))