resources = {
"water": 300,
"milk": 200,
"coffee": 100,
}
prompt = input("What would you like? (espresso, latte or cappuccino):")
if prompt == 'report':
for i in resources:
k = 'g' if i == 'coffee' else k = 'ml'
print(f'{i} : {resources[i]}')
上面的代码给了我错误。
"k = 'g' if i == 'coffee' else k = 'ml'
^^^^^^^
SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?"
但是,当我使用print语句而不是赋值语句时,效果如下
print('g') if i == 'coffee' else print('ml')
发布于 2022-05-29 15:27:03
你想:
k = 'g' if i == 'coffee' else 'ml'
也就是说,只有一条语句(总体k = ...
);=
右边的所有内容都是一个计算为'g'
或'ml'
的表达式,因此k =
不能也不应该重复。
print('ml')
也是一个表达式(尽管它的计算结果为None
),因此它在这个位置上工作;但是k = 'ml'
只是一个语句,不能在表达式的上下文中使用。
https://stackoverflow.com/questions/72424935
复制相似问题