柳圣凯
2019-08-27 12:41
采纳率: 50%
浏览 642

关于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条回答 默认 最新

  • xSeeker~ 2019-08-27 13:07
    已采纳

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

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

    注意括号内的区别

    点赞 评论
  • kougaa 2019-08-27 12:57

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

    点赞 评论
  • 傲慢程序员 2019-08-27 14:50

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

    点赞 评论