python - 在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
但我的期望只是当数字存在时是或否是列表。
我在这里错过了什么吗?
解决方案
您的代码存在一些问题。当您编写 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 作为数字,你需要将输入解析为数字 祝我的朋友好运!
推荐阅读
- html - 删除 iFrame 上的垂直滚动
- flutter - 导航栏颤振应用程序不显示屏幕上的任何位置
- javascript - JavaScript 中的 /\\/ 对象是什么?
- python - 在 Win7 上安装 PyTorch 而不安装 Python 3.9
- wordpress - WP-API 的 JWT 身份验证:“rest_no_route”,“找不到与 URL 和请求方法匹配的路由”,
- keycloak - Keycloak 作为身份代理,用户联合作为后备
- node.js - 使用 app.use((err, req, res, next)=>{}) 和 app.use("*", (err,req,res,next)=>{}) 表达 404 错误处理程序不返回集合404返回
- android - 无法在局域网或外网访问 nextcloud
- ios - 使用 .completeFileProtection 存储文件时,iOS 是否需要额外加密?
- sql - 如何在查询中添加辅助列?