У меня есть этот кодесли/Элиф не работает, как ожидалось в Python 2.7
print "Choose a category: Animals, Jobs or Cars?"
while True:
cat = str(raw_input())
if cat.lower() == "animals":
wordfile = open("Animals.txt")
break
elif cat.lower == "jobs":
wordfile = open("Jobs.txt")
break
elif cat.lower == "cars":
wordfile = open("Cars.txt")
break
else:
print "That's not a valid category!"
wordlist = [line.split("\n") for line in wordfile]
print wordlist
Когда я вхожу животное, она прекрасно работает и печатает содержимое моего файла. Однако, когда я вхожу в рабочие места или автомобили, он говорит мне, что это не действительная категория (она пропускает elif's и идет прямо к другому), и я не могу понять, почему.
У вас отсутствует скобка на 'cat.lower' в ваших операторах' elif' – LMc
Кроме того, почему use'cat = str (raw_input())?? 'raw_input()' сам вернет строку. –