关于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,萌新求解

3个回答

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
不懂运算符优先级的锅,
萌新没把握就多加括号

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问