首页 > 解决方案 > 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 循环中犯了一些错误,但我陷入了困境。

任何建议将不胜感激。

标签: python-3.x

解决方案


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

推荐阅读