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

时间:2015-10-08 15:34:38

标签: python

我正在使用notepad ++,我这样做:

  

x = raw_input(“blablabla”)

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

虽然我的问题不在于此,但我仍然不明白为什么变量会在没有被调用的情况下提示,不应该只在我“打印x”时调用它? ==================== EDIT =======================

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取消并传递总数。 我输入了一个数字,并且在不要求我提供更多数字的情况下打印总数是正确的。

1 个答案:

答案 0 :(得分: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')

启动的提示

试试这个:

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