SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='? : python shorthand if-else
SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='? : python shorthand if-else
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('g') if i == 'coffee' else print('ml')
你想要:
k = 'g' if i == 'coffee' else 'ml'
也就是说只有一个语句(整体k = ...
); =
右侧的所有内容都是一个 表达式 ,其计算结果为 'g'
或 'ml'
,因此 k =
不能并且不应重复。
print('ml')
也是一个表达式(尽管计算结果为 None
),所以它在那个位置有效;但是 k = 'ml'
只是一个语句,不能在 expression-only 上下文中使用。
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('g') if i == 'coffee' else print('ml')
你想要:
k = 'g' if i == 'coffee' else 'ml'
也就是说只有一个语句(整体k = ...
); =
右侧的所有内容都是一个 表达式 ,其计算结果为 'g'
或 'ml'
,因此 k =
不能并且不应重复。
print('ml')
也是一个表达式(尽管计算结果为 None
),所以它在那个位置有效;但是 k = 'ml'
只是一个语句,不能在 expression-only 上下文中使用。