Python 我能';t让第一个if语句在循环中工作。
我试图为一个类项目创建这个简单的代码。当我输入第一个if语句时,我的等式不再有效,但是触发“you is done”和break语句的if语句有效。去掉第一个if语句会使我的方程起作用,但我无法结束程序。有没有办法绕过这个问题Python 我能';t让第一个if语句在循环中工作。,python,python-2.7,Python,Python 2.7,我试图为一个类项目创建这个简单的代码。当我输入第一个if语句时,我的等式不再有效,但是触发“you is done”和break语句的if语句有效。去掉第一个if语句会使我的方程起作用,但我无法结束程序。有没有办法绕过这个问题 # input [4, 6, 12, 9, 1, 2] S = 0 C = 0 X = 999 while True: Xstring = raw_input("Please Enter a Number: ")
# input [4, 6, 12, 9, 1, 2]
S = 0
C = 0
X = 999
while True:
Xstring = raw_input("Please Enter a Number: ")
if Xstring == int(X):
X = int(Xstring)
S = S + X
C = C + 1
print C
if C > 0:
A = S / C
print A
elif Xstring == (""):
print str('You are done.')
break
你把它倒过来了。如果int(Xstring)=X,则应为
。您也不需要执行X=int(Xstring)
,因为if
语句已经确定它们相等。另外,C>0
将始终是True
,因为它从0
开始,只向上。raw\u输入返回一个字符串,所以Xstring是一个字符串。X是一个整数。将整数转换为整数没有任何作用。因此,您将int与string进行比较,它们是非常不同的东西。我建议您阅读一些教程,string已经是str
,而且elif Xstring
足以检查空string谢谢!我将第一个if语句更改为'if Xstring!=(“”):”并将elif语句设置为“else:”,所有这些都组合在一起。@IXIUSRouley如果这是您想要的,您可以将if
语句更改为if Xstring:
。