2016-11-20 118 views
1

我已经看了其他几个帖子,询问同样的问题,但没有一个似乎适用于我。下面的代码:Python“while”循环不会结束

wordNumber = input("Word Number: ") 
addedWords = 0 
wordList = [] 


while addedWords != wordNumber: 
    Word = input("Word: ") 
    wordList.append(Word) 
    addedWords = addedWords + 1 

我已经设置wordNumber等于5.我想,既然我在每个循环加1 addedWords,它应该很好地工作,并停止循环一次addedWords等于wordNumber。我甚至无法理解我可能会在这里失踪的事情。

谢谢!

回答

8

input返回一个字符串;字符串不能等于int

>>> '5' == 5 # str <-> int 
False 

>>> int('5') == 5 # int <-> int 
True 

您需要将字符串转换为int

wordNumber = int(input("Word Number: ")) 
0

的Python会将输入的字符串,所以你必须把它转换为int,以获得数:

wordNumber = int(input("Word Number: ")) 
addedWords = 0 
wordList = [] 


while addedWords != wordNumber: 
    Word = input("Word: ") 
    wordList.append(Word) 
    addedWords = addedWords + 1 
+0

'int'不是一个演员操作符,而是一个函数;你不需要用'(..)' – falsetru

+0

来包围它。我看到了。固定的。 :) – Inconnu