【发布时间】:2020-09-05 00:04:10
【问题描述】:
我的问题是,如果 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'])
循环结束后,如果没有满足条件的store,我想打印出'There is no store'。
【问题讨论】:
-
在某个地方保留一个布尔值,例如 found = False,然后在你的 if 中将其设置为 True,如果你可以检查它是否仍然为 False,则在外部,表示未找到
-
如果同一种食物出现在多个菜单上,您是要打印两次还是只打印一次?
标签: python python-3.x loops for-loop