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 循环中犯了一些错误,但我陷入了困境。
任何建议将不胜感激。
答案 0 :(得分:0)
首先,input
是 Python 中的保留关键字 - 不要命名您的变量。
其次,result
未在此处定义,但我假设它是在上面某处初始化的 dict。
我重构了您的代码 - 希望更改变量名称可以修复大部分错误:
inny = input()
print("Shape IDs for "+ the_input +":")
[print(str(k) if k.split('-')[0] == inny else "NOT FOUND") for k in list(result.keys())]
答案 1 :(得分:0)
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