求助python编程问题
def round_to_next5(n):# Your code here
if n%5!=0:
n += 5 - n % 5
else:
n
return n
print(round_to_next5(5))
输出是5
def round_to_next5(n):
# Your code here
n=n+5-n%5 if n%5!=0 else n
return n
print(round_to_next5(5))
输出是5
def round_to_next5(n):
# Your code here
n+=5-n%5 if n%5!=0 else n
return n
print(round_to_next5(5))
输出是10
为什么最后的程序输出不一样啊{:5_100:} 本帖最后由 昨非 于 2021-2-16 23:37 编辑
再看看 {:5_103:} if条件不成立啊{:5_100:}
5%5=0 昨非 发表于 2021-2-16 23:13
运算符优先级不对
第二个:
n=n+5-n%5这里 先取余再加减 ,最后赋值给n
if条件不成立 黎明zxc 发表于 2021-2-16 23:27
if条件不成立
再看看哈 昨非 发表于 2021-2-16 23:29
再看看哈
这个应该还是进入到的 else 而不是 if 里面的吧
因为else return 5 给的是 n +=
也就是 n+=5
即 n = 10
最后 return 10 给了 print 函数
他这个数字比较特别,把最后一个 if statement 下面 5-n % 5 的系数随便改,输出的数值都不会发生改变,说明并没有通过 if statement
Daniel_Zhang 发表于 2021-2-16 23:40
这个应该还是进入到的 else 而不是 if 里面的吧
因为else return 5 给的是 n +=
if else语句的优先级高于赋值啊{:10_250:}
啊这,刚刚是我傻了{:10_266:} 昨非 发表于 2021-2-16 23:46
if else语句的优先级高于赋值啊
啊这,刚刚是我傻了
me too 黎明zxc 发表于 2021-2-16 23:52
me too
抱歉刚刚没认真看,错解了
挺尴尬的哈{:10_266:}
页:
[1]