Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我能';t让第一个if语句在循环中工作。_Python_Python 2.7 - Fatal编程技术网

Python 我能';t让第一个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: ")

我试图为一个类项目创建这个简单的代码。当我输入第一个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: ")
        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: