Python“while”循环没有结束

时间:2016-11-20 08:37:36

标签: python string python-3.x loops while-loop

我看了几个其他帖子,询问同样的问题,但似乎没有一个适用于我。这是代码:

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


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

我一直将wordNumber设置为等于5.我认为,因为我在每个循环中向addedWords添加1,所以它应该完美地运行并且在addedWords之后停止循环等于wordNumber。我甚至无法理解我在这里可能缺少的东西。

谢谢!

2 个答案:

答案 0 :(得分:8)

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

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

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

您需要将字符串转换为int

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

答案 1 :(得分:0)

Python将输入视为字符串,因此您必须将其转换为int才能获得数字:

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


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