我是一个新的程序员,我是乞丐,这是我第一次使用堆栈溢出,我现在尝试计算一个计算器计算数字像正常的计算器,我想写一些东西,如(“7 - 2 * 3”)和代码给予的结果。代码是混乱的我只是乞丐,所以请只是尝试理解,并帮助我。
当你尝试输入数字和运算符的代码时,空格像这样5 + 5.这是代码:
from functools import reduce
question = input("Enter your calcul : ")
nums = question.split()
numbers = nums[0::2]
def calcul(num1, num2):
for x in variation:
if x == '+':
return num1 + num2
elif x == '-':
return num1 - num2
elif x == '*':
return num1 * num2
elif x == '/':
return num1 / num2
def wayy(lt):
for x in lt:
if '+' == x :
yield'+'
if '-' == x :
yield'-'
if '*' == x :
yield'*'
if '/' == x :
yield'/'
variations = [] # [ + , - , * , / ]
variation = wayy(nums)
for x in variation:
variations.append(x)
print(variations)
nm = []
for n in numbers:
n = int(n)
nm.append(n)
calcule = reduce(calcul, nm)
print(calcule)
我尝试编码一个计算器,我有一个问题,我认为这是在计算函数时,我输入的数字的结果是“无”,我知道的问题,在函数(计算),但我不知道如何才能解决它。
1条答案
按热度按时间h5qlskok1#
仅将“calcul”函数中的“variation”更改为“variations”。
因为“variation”是一个“Generator”对象,但“variations”是一个字符串列表(您需要的)。