Как вырваться из цикла while? Для типа строки Python - PullRequest
0 голосов
/ 18 марта 2012
# Let's create a file and write it to disk.
filename = "test.dat"
# Let's create some data:
done = 0
namelist = []
while not done:
    name = raw_input("Enter a name:")
    if type(name) == type(""):
        namelist.append(name)
    else:
        break

Для приведенного выше кода Python я попытался, но не смог выйти из цикла while.Он всегда просит меня «Введите имя:» , что бы я ни вводил.Как вырваться из цикла?

Ответы [ 2 ]

4 голосов
/ 18 марта 2012
# Let's create a file and write it to disk.
filename = "test.dat"
# Let's create some data:
namelist = []
while True:
    name = raw_input("Enter a name:")
    if name:
        namelist.append(name)
    else:
        break

Это ломается, когда ничего не вводится

1 голос
/ 18 марта 2012

Это потому, что raw_input всегда возвращает строку, т. Е. type(name) == type("") всегда истинно.Попробуйте:

while True:
    name = raw_input("Enter a name: ")
    if not name:
        break
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...