Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.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 While语句(shell中无结果)_Python_While Loop - Fatal编程技术网

Python While语句(shell中无结果)

Python While语句(shell中无结果),python,while-loop,Python,While Loop,我的程序应该打印从2到10的偶数之和,但是当我在shell中通过偶数时,我看不到任何结果。问题是什么 def even_while(): number = 2 s = 0 while number < 10: if number % 2 == 0: old_number = number number = number + 1 s = s + old_number

我的程序应该打印从2到10的偶数之和,但是当我在shell中通过偶数时,我看不到任何结果。问题是什么

def even_while():


    number = 2
    s = 0

    while number < 10:
        if number % 2 == 0:
            old_number = number
            number = number + 1
            s = s + old_number

    print(s)  
谢谢

除非数字%2==0,否则不会增加数字,因此while循环不会取得任何进展

此外,您可能会喜欢内置的系列:

除非数字%2==0,否则不会增加数字,因此while循环不会取得任何进展

此外,您可能会喜欢内置的系列:

无限循环。数字从2开始。这是偶数,所以加上1。剩下的数字是3。现在while循环将永远存在。数字%2==0从不为真数字为3!,数字再也不会改变。

无限循环。数字从2开始。这是偶数,所以加上1。剩下的数字是3。现在while循环将永远存在。数字%2==0从不为真数字为3!,这个数字再也不会改变了

def even_while():

    number = 0
    s = 0

    while number < 11:
        number = number + 1
        if number % 2 == 0:
            old_number = number
            s = s + old_number

    print(s) 
我想这没关系


我想这没关系。

你说的“在壳里”是什么意思?如果以交互方式运行Python,请复制/粘贴显示的代码,然后甚至在调用时调用,它应该会运行…因为有bug,所以运行得很糟糕,但它应该运行。如果您将其保存在evenwhile.py中并运行python evenwhile.py,那么您就没有调用需要在最后添加even_的函数。如果你有别的意思,你应该说什么。为了进行调试,为什么不在if语句前加上print number,s;它会告诉你为什么你没有得到你认为应该得到的东西。明智地打印变量是一种基本的调试技术。您所说的“在shell中”是什么意思?如果以交互方式运行Python,请复制/粘贴显示的代码,然后甚至在调用时调用,它应该会运行…因为有bug,所以运行得很糟糕,但它应该运行。如果您将其保存在evenwhile.py中并运行python evenwhile.py,那么您就没有调用需要在最后添加even_的函数。如果你有别的意思,你应该说什么。为了进行调试,为什么不在if语句前加上print number,s;它会告诉你为什么你没有得到你认为应该得到的东西。明智地打印变量是一种基本的调试技术。它是否正常取决于您试图完成的任务。你还没告诉我们。至少它不会受到无限循环的影响-仅供参考,你可以把它写成printsumrange0,11,2。只是一些值得思考的东西-它是否正常取决于你想要完成什么。你还没告诉我们。至少它不会受到无限循环的影响-仅供参考,你可以把它写成printsumrange0,11,2。只是一些值得思考的东西-如果答案需要包含10,那么范围应该指定为11,不是吗?您还可以使用范围2、11、2来获得偶数。你可以使用列表理解,我相信现在正在研究语法……通过充分利用两个内置函数range和sum,这可以变成一行:printsumrange2,11,2。耶,我想直接复制原始的。实际上,最好的方法是numsteps=stop-start//step+1;开始*numsteps+step*numsteps*numsteps-1//2'因为它是线性时间。如果答案需要包括10,那么范围应该指定为11,不是吗?您还可以使用范围2、11、2来获得偶数。你可以使用列表理解,我相信现在正在研究语法……通过充分利用两个内置函数range和sum,这可以变成一行:printsumrange2,11,2。耶,我想直接复制原始的。实际上,最好的方法是numsteps=stop-start//step+1;开始*numsteps+step*numsteps*numsteps-1//2,因为这是线性时间。
def even_while():

    number = 0
    s = 0

    while number < 11:
        number = number + 1
        if number % 2 == 0:
            old_number = number
            s = s + old_number

    print(s)