SyntaxError:语法无效。也许你的意思是“==”或“:=”而不是“=”?:python 简写 if-else

SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='? : python shorthand if-else

提问人:Anmol Virk 提问时间:5/29/2022 更新时间:11/15/2023 访问量:13143

问:

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')

python 语法错误 条件运算符

评论

0赞 kaya3 5/29/2022
如果要对条件执行某些操作,请使用语句,而不是三元表达式。, .ifif i == 'coffee': k = 'g'else: k = 'ml'

答:

4赞 Charles Duffy 5/29/2022 #1

你想要:

k = 'g' if i == 'coffee' else 'ml'

也就是说,只有一个陈述(整体);右边的所有内容都是计算结果为 either 或 的表达式,因此不能也不应该重复。k = ...='g''ml'k =

print('ml')也是一个表达式(尽管计算结果为 ),因此它适用于该位置;但只是一个语句,不能在仅表达式上下文中使用。Nonek = 'ml'