新版Python第011讲短路逻辑和运算符优先级
steps = 7i = 1
FIND = False
while i < 100:
if # 请在此处填写需要满足的条件 #:
FIND = True
break
else:
# 请在此处填写正确的代码 #
i = i + 1
if FIND == True:
print('阶梯数是:', steps)
else:
print('在程序限定的范围内找不到答案!')
完全不懂在说什么,涉及数学问题不会。
求哪位鱼友讲解一下,谢谢~ 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
x = 7
i = 1
flag = False
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
flag = True
else:
x = 7 * (i+1)
i += 1
if flag == True:
print('阶梯数是:', x)
else:
print('在程序限定的范围内找不到答案!') 这就是满足除7余数为0,那么就是7的倍数,那么第一个7 * 1不满足就继续乘以更高7的倍数,当满足第一个if判断后就将flag变成True结束循环输出
这就是相当于填空题,甲鱼哥题目中把条件写的很清楚了,你只需要将代码中注释部分改为甲鱼哥题目中的条件即可
有一个长阶梯,若每步上 2 阶,最后剩 1 阶;若每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上 6 阶,最后剩 5 阶;只有每步上 7 阶,最后刚好一阶也不剩。
--> 从题中可以得出关键词:
每步上 2 阶,最后剩 1 阶;若每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上 6 阶,最后剩 5 阶;只有每步上 7 阶,最后刚好一阶也不剩
转为数学条件:
阶梯数 / 2 余数为 1
阶梯数 / 3 余数为 2
阶梯数 / 5 余数为 4
阶梯数 / 6 余数为 5
阶梯数 / 7 余数为 0
然后想着用这几节课的 Python 知识, 即 % 可以用来求余数,就可以写出:
steps % 2 == 1
steps % 3 == 2
steps % 5 == 4
steps % 6 == 5
steps % 7 == 0
fish_nian 发表于 2021-5-26 20:38
这就是满足除7余数为0,那么就是7的倍数,那么第一个7 * 1不满足就继续乘以更高7的倍数,当满足第一个if判 ...
那个 i = i + 1
那是什么意思啊 ssdts 发表于 2021-5-27 19:16
那个 i = i + 1
那是什么意思啊
倍数,第一次 i = 1,那么就是 7 乘以 i = 7,如果这个数不满足if判断的条件,进行i = i + 1 => 1 + 1 = 2,接下来继续进行循环,7 乘以 2、3、4、5、6、7,直到满足判断条件结束判断
页:
[1]