《零基础入门学习Python》课后作业求助,请老师们答疑,谢谢!
《零基础入门学习Python》第006讲:Python之常用操作符,2. 爱因斯坦的难题:我的回答是这样的:
而结果为什么是这样呢?
辛苦老师们看看了,谢谢!
当 x 变成了 119 的时候,此时满足了题意,Python 就会打印 x,并且将 i+=1,但是此时 x 并没有被重新赋值,所以 x 的值还是 119,此时就会一直打印 119,直到 i > 100 退出循环。 x = 7
i = 1
while i <= 100:
if(x %2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5):
print(x)
break # 因为求的是 "最低" 多少阶,所以,只要找到一个见好就收
else:
x = 7 * (i + 1)
i = i + 1 找到答案119时,循环还没满足退出条件,也就是 i<=100,
所以会继续执行打印119(因为if条件满足不会执行else),i += 1
直到 i >100,不满足继续的条件了,再退出循环
如果要修改可以使用break语句,放在if语句内部末尾,只要有一次满足了if,就会退出整个循环。
x = 7
i = 1
while i <= 100:
if(x %2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5):
print(x)
break #break 的作用是直接退出当前循环,相当于不满足循环条件了
else:
x = 7 * (i + 1)
i = i + 1 tommyyu 发表于 2022-11-10 12:09
当 x 变成了 119 的时候,此时满足了题意,Python 就会打印 x,并且将 i+=1,但是此时 x 并没有被重新赋值 ...
谢谢老师,明白了! 本帖最后由 oldming 于 2022-11-11 07:04 编辑
hziyan 发表于 2022-11-10 12:51
找到答案119时,循环还没满足退出条件,也就是 i100,不满足继续的条件了,再退出循环
如果要修改可以使用b ...
谢谢老师!受教了。 jackz007 发表于 2022-11-10 12:12
谢谢老师帮忙! 需要用break 函数 另个经验~!
页:
[1]