关于cmd运行的python代码

# coding=gbk
c=int(input('请输入要支付的价格 '))
c=c-20 if c>=100 else c
print('要支付:',c,'元',sep='')
#这段代码将大于100元的商品减20元输出价格

我先是运行了一次

图片说明

发现输出与预想不符合的结果
然后将c-=20改为c=c-20后运行
图片说明

结果正确

这是为什么,我刚学python,萌新求解

c=(c-20 if c>=100 else c)

c-=(20 if c>=100 else c)

注意括号内的区别

因为这句 c-= 20 if c >= 100 else c
如果c<100 就变成 c -= c 了
40-40就所以等于0

赞同@Bealing
不懂运算符优先级的锅,
萌新没把握就多加括号