小白求解
n = eval(input('请输入一个数'))
m = int(n)
m += 1 if m<n else m
print(m)
为什么输入3,输出是6,谢谢大佬们
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
问题解决的话,请点采纳。
i+=1 实际上就是 i = i + 1 的简写。区别可能就是i+=1 编译运行更快一些
第一个回答很正确,由于python没有三元运算符,只能用if...else的代码代替。
换个编程语言,你就很清楚了。比如js怎么写上面的代码:
m<n ? m++ : m+=m
python的语法表达,确实有点隐蔽难懂,如果不了解这个知识点,就会产生误解。