/ / Оценка на математически израз (python) [затворен] - python, string, int, find, математически изрази

Оценяване на математически израз (python) [closed] - python, string, int, find, математически изрази

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))