我正在尝试获取此输入表单中的数据:
5
+ 3
* 7
+ 10
* 2
% 11
并依次执行操作(从5开始作为初始整数值),最后得到一个最终值。这是我现在的代码,我很难弄清楚为什么它会跳到最后。我已经对某些部分进行了注释,试图找出问题的根源,所以不要担心这些:
initValue = int(input())
while input() != '':
if '+' in input():
lineList = input().split()
print(lineList)
#initValue = initValue + int(lineList[1])
#print(initValue)
elif '*' in input():
lineList = input().split()
print(lineList)
#initValue = initValue * int(lineList[1])
#print(initValue)
elif '%' in input():
lineList = input().split()
print(lineList)
我的输入/输出如下所示:
5
+ 3
* 7
+ 10
* 2
* 3
+ 1
% 11
['%', '11']
我还是刚刚开始用python,所以如果我犯了一个非常愚蠢的错误,我很抱歉。你知道吗
每次调用函数
input()
,它都会读取下一行并返回它。如果您用prompt参数调用它(正如您应该做的那样),您就会知道到底发生了什么。你知道吗所以,你的第一个
int(input())
读5
。下一个(在while
循环头中)读取+ 3
并丢弃它,因为您从不保存返回值。if '+'
语句中的下一个input
读取* 7
并再次丢弃它,以此类推您需要的是对循环中的
input()
进行一次调用,将返回值赋给一个变量,并对该变量执行所有检查。你知道吗相关问题 更多 >
编程相关推荐