繁体   English   中英

为什么我的while循环不循环?

[英]Why isn't my while loop, looping?

我正在使用记事本++,我这样做:

x = raw_input(“ blablabla”)

但是它正在打印到控制台上,为什么呢? 它不应该只是将变量x设置为该命令而不是打印吗?

尽管不是我的问题,但我仍然不明白为什么变量会在不被调用的情况下提示,难道不应该仅在“打印x”时调用它吗? ===================编辑=======================

str = int(raw_input("Enter a number: "))

def numero(x):
    y = 0
    while x != 0:
        y += x
        return y
    else:
        print y

print numero(str)

无论如何,这不是循环的,我的目标是在用户输入数字之前就添加数字,直到他输入0为止,这会取消并提供总数。.我输入了一个数字,就可以不问我就打印总数为更多的数字..

这是正常的行为。 您想从用户那里得到输入。 它只是prompt用户输入。 实际上,“ blabla ..”不是变量x的值的一部分。

>>> x = raw_input("blablabla")
blablabla # waiting for further input...

python命令行中的行为相同。

>>> x = raw_input("Please insert some text...\n")
>>> print x
Please insert some text...
My cool variable!
My cool variable! # current value of x

只需用作:

x = raw_input()

更新:

我仍然不明白为什么变量会在不被调用的情况下提示,不应该仅在我“打印x”时才调用它吗?

打印通过调用raw_input('prompt')启动raw_input('prompt')

尝试这个:

def numero():
    return int(raw_input("Enter a number: "))

x = numero()
y = 0
while x != 0:
    y += x
    x = numero()
else:
    print 'Total y:', y

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM