麻烦解释一下这个代码 我自己看不懂 = =! 谢谢
x = 7i = 1
flag = 0
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6 == 5):
flag = 1
else:
x = 7 * (i+1)
i += 1
if flag == 1:
print('台阶数是: ',x)
else:
print('在程序范围内未找到答案!')
这个是python第六讲的题 谢谢 ==是判断是否相等的啊
看注释吧,哪里看不懂就问哈~:
x = 7 # 因为题目说了 阶梯一定会被 7 整除 所以阶梯一定是 7 的倍数,则设置从 7 开始
i = 1 # 这个只是初始化要循环判断的次数
flag = 0 # 这个用来判断最终是否有没找出 阶梯
while i <= 100:# 判断100次以内是否有爱因斯坦阶梯
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6 == 5):
# 根据题意 除以2要剩余 1阶,除以3要剩余 2阶,除以5要剩余 4阶梯,除以6要剩余 5阶
# 如果以上条件都满足,说明是爱因斯坦阶梯
flag = 1# 讲判断条件设置为 1 表示在范围内找到了 爱因斯坦阶梯
else: # 如果之前的阶梯不是爱因斯坦阶梯,那么就乘以 7,因为题意一定会被 7 整除,那么爱因斯坦阶梯一定是 7 的倍数
x = 7 * (i+1)
i += 1 # 记录循环次数 +1
if flag == 1:# 判断是否有爱因斯坦阶梯
print('台阶数是: ',x)
else: # 反之在 100 次 以内找不到爱因斯坦阶梯
print('在程序范围内未找到答案!')
qiuyouzhi 发表于 2020-7-1 18:27
==是判断是否相等的啊
这是个表情 永恒的蓝色梦想 发表于 2020-7-1 18:35
这是个表情
噗... 永恒的蓝色梦想 发表于 2020-7-1 18:35
这是个表情
=.=这是个表情。 heidern0612 发表于 2020-7-1 18:57
=.=这是个表情。
{:10_277:} 解释一下:
x等于7
i等于1
flag等于0
i小于等于100的时候
如果 x取余2等于1并且x取余3等于2并且x取余5等于4并且x取余6等于5的话
flag等于1
否则,x等于7乘以(i+1)
i加等于1
如果flag等于1的话:
打印:台阶数是:x
否则:
打印:在程序范围内未找到答案
405794672 发表于 2020-7-1 19:27
解释一下:
x等于7
i等于1
然后,这个代码肯定是有问题的。我看到时就想到了。因为在100次以内,你不知道符合条件的数有多少。万一,10次以内找到了,然后,程序什么措施都没有,然后继续,走完这100次。然后,得出的台阶只是那个最接近100次的。倘若你把100改为1000呢?其它的台阶统统不要了?
永恒的蓝色梦想 发表于 2020-7-1 18:35
这是个表情
{:10_250:}{:10_250:}{:10_250:}
大佬...你这样会没朋友的... yhhpf 发表于 2020-7-1 21:11
大佬...你这样会没朋友的...
{:10_312:}有道理 楼歪了。。。哈哈哈{:10_257:}
页:
[1]