我需要知道是否可以检查值是否存在于列表中。以及如何做到这一点。
基本上,程序需要允许用户在列表中输入一系列数字,直到用户指定它们已完成。他们会通过输入一系列数字来做,-123。
这是我到目前为止的代码,它需要有一个while结构。任何帮助将不胜感激。
enterNum = input()
userList = []
while enterNum != -123:
for i in range(enterNum):
userList.append(float(input()))
我觉得我错过了一些简单的事情。
答案 0 :(得分:2)
你几乎拥有它:
userList = []
while True:
enterNum = input()
if enterNum != -123:
userList.append(enterNum)
else:
break
或者:
userList = []
while enterNum != -123:
enterNum = input()
userList.append(enterNum)
但你最终会在列表中找到-123
错误捕获,因为您无法依靠用户,我会做这样的事情:
userList = []
while True:
try:
enteredNum = float(input())
if enteredNum == -123:
break
userList.append(enteredNum)
except ValueError:
print("Invalid number")
答案 1 :(得分:1)
是的,可以使用in运算符完成,但最好不要首先在列表中添加-123。我还建议一些额外的改进。最重要的是,如果输入的数字不是数字,您应该处理exceptions。
userList = list()
while True:
try:
enteredNum = float(input())
if enteredNum == -123:
break
userList.append(enteredNum)
except ValueError:
print ("Invalid number")
答案 2 :(得分:0)
你可以这样做:
if num in your_list:
#do_something
此外,要检查列表中是否有某些内容,您可以执行以下操作:
if num not in your_list:
#do_something_else