2013-02-25 43 views
0

我希望用戶輸入隨機數。 我運行一個while循環,直到用戶輸入0訪問while循環(Python)中的用戶輸入

while input()!=0: 
    print "Your number is:...??" 

我的問題是: 使用,我可以訪問用戶的輸入是否有任何特殊的變量(如$ _在Perl)? 例如(在上述情況下)我想打印用戶輸入的內容。

回答

1

的另一種方法是使用iter並提供可調用:

for num in iter(lambda: int(raw_input('Your number is: ')), 0): 
    print 'You entered', num 
+0

這很好。根據[文檔](http://docs.python.org/2/library/functions.html#iter),可調用的值將被返回,除非它是引發StopIteration的標記。 – Octipi 2013-02-25 06:47:21

+0

@Jon這是個不錯的方法。謝謝。但我從來不清楚lambda到底是什麼。任何幫助表示讚賞。 – Holmes 2013-02-26 05:49:14

+0

@Holmes'lambda'創建一個可調用的...你可以把它看作一個不太靈活的'def' ...所以上面可以定義'def somefunc():raw_input('你的編號是:')'而不是的lambda,使用'somefunc' .... - 見http://docs.python.org/2/reference/expressions.html#lambda – 2013-02-26 05:52:34

2

您需要將結果賦值給一個變量:

s = None 
while s != 0: 
    s = int(input("Enter number: ")) 
    print("Your number is: {}".format(s)) 

這是一個python3例子。對於Python 2.x,您應該使用raw_input

+0

嗯..看來我們不能沒有創建變量運行這個循環。謝謝。 – Holmes 2013-02-26 05:54:09