python-3.x - if语句python for循环中的循环错误
问题描述
num = input()
id = list(result.keys())
print("key for "+ num +":")
for key in id:
split = key.split('-')
if num == split[0]:
print(key)
else:
print("NOT FOUND")
这是我的代码的一部分
它将键值和多行“NOT FOUND”一起返回。
我相信我在 for 循环中犯了一些错误,但我陷入了困境。
任何建议将不胜感激。
解决方案
id
也是您应该避免使用的内置函数的名称。
您代码中的 else 语句当前正在检查并打印每个键,因此会有很多行“未找到”。我建议使用一个变量来说明是否找到了数字,并在检查完所有键后检查这个变量。
idn = ["4-123", "4-456", "4-789"]
num = input()
print("key for "+ num +":")
found = False
for key in idn:
split = key.split("-")
if split[0] == num:
found = True
print(key)
if not found:
print("NOT FOUND")
输出:
4
key for 4:
4-123
4-456
4-789
1234
key for 1234:
NOT FOUND
推荐阅读
- reactjs - 使用 React 和 Axios 在 Flask 中访问 Multipart 文本文件
- r - 查找 R 包的源代码并可能进行更改
- python - Raspberry Pi 上的错误还是我做错了什么?
- http - 如何在 Flutter 中从 HTML 元素(抓取网站)访问数据?
- loops - 如何将 CountDownTimer 放入循环中?
- anylogic - 忽略 Anylogic 中的 Hold 对象
- firebase - 如何从外部管理员服务帐户调用 Firebase Cloud Function 并验证 FCF 上的请求
- css - 如何导入外部 CSS 以响应文件?
- rabbitmq - 我不能在 RabbitMQ 上使用 MQTT 协议
- makefile - 在 makefile 中,变量没有被覆盖,尽管显示它具有不同的值,并且也会导致错误的 ifeq