首页 > 解决方案 > 在python中的给定数组列表中查找指定数字

问题描述

arr = input("enter array:")
print(arr)
num = input("enter num:")
print(num)
    
for n in arr:
  if num == n:
       print("yes")
  else:
       print("no")

输出为:

no
no
no
yes
no
no
no

但我的期望只是当数字存在时是或否是列表。

我在这里错过了什么吗?

标签: python

解决方案


您的代码存在一些问题。当您编写 input("enter array") 时,您会得到一个字符串,而不是一个列表。所以让我们说arr = "10 20 30 40" 然后你说 -for n in arr:当在字符串上执行时,这意味着:对于字符串中的每个字符,执行 : ... 所以你得到的是n="1", then n="0",依此类推.. 这不是你的意思。

现在要解决您的问题,如果您只想从用户那里获取代表数字的字符串列表,并检查是否有其他代表数字的字符串,您可以在没有循环的情况下执行此操作:if num in arr: 如果您将获得 Truearr = "10 20 30 40"num = "20"打印 yes , 如果num = "21"你会得到 False 并打印 no..

但是如果你真的需要使用那个 num 和 arr 作为数字,你需要将输入解析为数字 祝我的朋友好运!


推荐阅读