我可以带你回家吗
2020-05-15 18:31
采纳率: 33.3%
浏览 723

提问:Python中 i = i + 1 与 i += 1的区别

小白求解

n = eval(input('请输入一个数'))
m = int(n)
m += 1 if m<n else m

print(m)

为什么输入3,输出是6,谢谢大佬们

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2020-05-15 20:23
    已采纳
    i = i + 1 与 i += 1
    是一样的
    但是你这里不是这个问题,而是运算符结合性的问题,+= 这个后面是一个整体。
    
    m += 1 if m<n else m
    其实是
    m += (1 if m<n else m)
    或者说
    if (m < n) m+=1 else m+=m
    显然m=n,所以m+=m,也就是m = m + m
    m原来是3
    m+m=6
    所以结果是6
    

    问题解决的话,请点采纳。

    已采纳该答案
    打赏 评论
  • 大明1986 2020-05-15 20:20

    i+=1 实际上就是 i = i + 1 的简写。区别可能就是i+=1 编译运行更快一些

    打赏 评论
  • MFine 2020-05-15 22:01

    第一个回答很正确,由于python没有三元运算符,只能用if...else的代码代替。
    换个编程语言,你就很清楚了。比如js怎么写上面的代码:
    m<n ? m++ : m+=m
    python的语法表达,确实有点隐蔽难懂,如果不了解这个知识点,就会产生误解。

    打赏 评论

相关推荐 更多相似问题