gpt4 book ai didi

python - 如何查找列表中的项目(不使用 "in"方法)?

转载 作者:太空宇宙 更新时间:2023-11-03 16:27:00 25 4
gpt4 key购买 nike

我试图在不使用“in”方法的情况下查找列表中的项目。我尝试使用循环来做到这一点。代码执行成功,但给出了两者的集体结果(找到的项目以及未找到的项目)。我尝试使用break语句来修复它。它以某种方式起作用了。但仍然没有得到预期的结果。

用python3.2编写的代码是:-

list=[]
item=""
while item!='DONE':
item=input("Enter the number, To discontinue enter 'DONE': ")

if item.isdigit():
item=int(item)
list.append(item)
else:
list.append(item)

del list[-1]
print("The list is: ",list)

num=int(input("Enter the number you want to search in list: "))
def search(list,num):
for i in range(len(list)):
if list[i]==num:
print("Item found")
break
else:
print("Not found")
return
search(list,num)

请建议我如何修改它以搜索“整数”和“字符串”类型元素。我的代码对于整数类型元素运行良好。

最佳答案

执行此操作时,您正在尝试将字符串转换为 int:

num = int(input("Enter the number you want to search in list: "))

当输入不是数字时,会抛出异常。

相反,为什么不使用 isdigit() 执行与代码第一部分相同的操作呢?如果它是数字,则将其转换为 int,如果它不是数字,则将其保留为字符串。那么您的代码也应该适用于非数字。

num = input("Enter the number you want to search in list: ")
if num.isdigit():
num = int(num)
<小时/>

或者,第二种解决方案是不在代码的第一部分或第二部分中将任何内容强制转换为 int。换句话说,将所有内容保留为字符串,即

while item != 'DONE':
item = input("Enter the number, To discontinue enter 'DONE': ")
list.append(item)

...

num = input("Enter the number you want to search in list: ")

关于python - 如何查找列表中的项目(不使用 "in"方法)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37894253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com