【发布时间】:2021-04-07 09:12:16
【问题描述】:
刚开始使用 Python 并试图让它工作。我需要让用户输入 1 到 50 之间的数字,然后遍历数字列表并找到匹配项。我的代码不起作用,我不确定我做错了什么。你能帮帮我吗?
>>> numbers = [1,3,5,7,9,11,15,18,21,23,34,35,38,41,43,47,49]
>>> n=0
>>> while True:
print("Type q to quit")
answer = input("Guess a number between 1 a 50: ")
if answer == "q":
break
if answer in numbers:
print("Number " + answer + " was found! Congrats!")
break
elif answer not in numbers:
print("Number " + answer + " was not found! Try again!")
continue
n += 1
【问题讨论】:
-
“我的代码不起作用”是什么意思?运行代码时会发生什么?你想让它做什么呢?你做过调试吗?如果是这样,您从可能导致问题的调试中学到了什么?如果您还没有进行任何调试,请阅读 this article 了解一些帮助您入门的提示。
-
answer是一个字符串,需要先转换成int -
docs.python.org/3/library/functions.html#input - “然后该函数从输入中读取一行,将其转换为字符串(去除尾随换行符),然后返回。”..
-
您不需要
elif,只需else。如果answer in numbers为假,那么answer not in numbers必然为真。 -
谢谢!我不知道我必须转换为 int。它现在正在工作。