python - 如果在 for 循环中没有匹配项,如何打印出特定的消息

标签 python python-3.x loops for-loop

我的问题是如果在 for 循环中没有匹配的东西,如何打印出来。例如:

a = {'store' : 'A', 'menu' : 'pizza', 'price' : 20000}
b = {'store' : 'B', 'menu' : 'chicken', 'price' : 18000}
c = {'store' : 'C', 'menu' : 'noodle', 'price' : 5000}
d = {'store' : 'D', 'menu' : 'sushi', 'price' : 15000}
e = {'store' : 'E', 'menu' : 'chicken', 'price' : 23000}
f = {'store' : 'F', 'menu' : 'pork', 'price' : 30000}

Total = [a, b, c, d, e, f]

l = input('what food?:  ')
p = int(input('how much you want to spend?  '))

for i in range(5):
    if Total[i]['menu'] == l and int(Total[i]['price']) <= p:
        print('menu', Total[i]['store'], 'price', Total[i]['price'])

循环后,如果没有这样的商店满足条件,我想打印出'There is no store' .

最佳答案

只需添加一个 bool 值来检查是否找到了价格。

a = {'store' : 'A', 'menu' : 'pizza', 'price' : 20000}
b = {'store' : 'B', 'menu' : 'chicken', 'price' : 18000}
c = {'store' : 'C', 'menu' : 'noodle', 'price' : 5000}
d = {'store' : 'D', 'menu' : 'sushi', 'price' : 15000}
e = {'store' : 'E', 'menu' : 'chicken', 'price' : 23000}
f = {'store' : 'F', 'menu' : 'pork', 'price' : 30000}

Total = [a, b, c, d, e, f]

l = input('what food?:  ')
p = int(input('how much you want to spend?  '))

found = False
for i in range(5):
    if Total[i]['menu'] == l and int(Total[i]['price']) <= p:
        print('menu', Total[i]['store'], 'price', Total[i]['price'])
        found =  True

if not found:
    print ("No stores were found.")

关于python - 如果在 for 循环中没有匹配项,如何打印出特定的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61882322/

相关文章:

Python Singletons - 你如何在你的测试平台中摆脱(__del__)它们?

python - 一起使用数据类和属性时出现奇怪的问题

javascript - 使用循环而不是子字符串。数组循环?

python - 无法查询 "user": Must be "Model" instance

Python子进程失败,取决于IDLE的打开方式

javascript - 是否有基于浏览器的 Websocket 监听器实现?

Python:传递要在 input() 函数中显示的参数

python - 如何添加两个 pandas 数据框并保留两个索引

java - Do-while 循环不会逃脱 - Java

javascript - 循环中的 Angular promise