|
|
发表于 2019-4-30 14:08:25
|
显示全部楼层
本帖最后由 jackz007 于 2019-4-30 14:23 编辑
后面代码的多层递推的 if 条件其实可以写到一行,用 and 连接,效果是一样的:
- if i % 2 == 1 and if i % 3 == 2 and if i % 5 == 4 and if i % 6 == 5 and if i % 6 == 5 and if i % 7 == 0:
复制代码
和下面代码完全等效
- if i % 2 == 1
- if i % 3 == 2:
- if i % 5 == 4:
- if i % 6 == 5:
- if i % 7 == 0:
复制代码
下面详细标注一下小甲鱼的答案
- x = 7 # 阶梯数的初始值设定为 7,因为题目条件说这个数可以被 7 整除
- i = 1 # 乘数因子初值设定为 1,准备以 7 为间隔,按 x = 7 * 1 , 7 * 2 , 7 * 3 ...... 7 * 100 来枚举每个可能的 x 值
- flag = 0 # 找到标志初始化为 0,代表没有找到
-
- while i <= 100: # 预设循环次数为 100 次
- if (x % 2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5): # 如果这个数满足条件了
- flag = 1 # 置找到标志为 1,供后面判断用
- else: # 否则
- x = 7 * (i + 1) # x = x + 7,阶梯数跨过一个 7
- i += 1 # 每次循环乘数因子加 1
- if flag == 1: # 如果找到了
- print('阶梯数是:', x)
- else: # 否则
- print('在程序限定的范围内找不到答案!')
复制代码 |
|