不好意思,我又来了 跪求大佬解惑
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。根据这个题目编程
下面是小甲鱼老师的答案,有两个地方不懂
弱弱的问一句,为什么你们发帖子 程序是有表格的一行一行的 我怎么不行
x = 7
i = 1
flag = 0#这里flag=0是什么意思?有什么用的?
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6 == 5):
flag = 1#这里flag怎么又=1了
else:
x = 7* (i+1) #根据题意,x一定是7的倍数,所以每次乘以7
i += 1
if flag == 1:#这里是什么意思
print('阶梯数是: ', x) #“,x” 是什么作用 程序也不显示x呀?
else:
print('在程序限定范围内找不到答案!')
x = 7
i = 1
flag = 0#这里flag=0是什么意思?有什么用的?
#初始变量,赋值为0
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6 == 5):
#这里把变量X做了判断
flag = 1#这里flag怎么又=1了
#如果X符合了判断,把flag变量赋值为1
else:#不符合判断的,继续下面的运算
x = 7* (i+1) #根据题意,x一定是7的倍数,所以每次乘以7
i += 1#计数用的,防止死循环,也就是循环100次的意思吧
if flag == 1:#这里是什么意思,如果上面flag赋值了1,也就是x符合判断条件,就输出
print('阶梯数是: ', x) #“,x” 是什么作用 程序也不显示x呀?
#x是变量,输出了内容,我这边打印出来结果是119,就是x
else:
print('在程序限定范围内找不到答案!')
回复框上边,有个<>的标记,就是输入代码用的,会显示代码格式 疾风怪盗 发表于 2020-8-26 21:24
回复框上边,有个的标记,就是输入代码用的,会显示代码格式
哦哦 下次也可以了哈哈谢谢 flag=0是给这个变量一个初始值,后面在if判断里用的时候给他赋值,要是没有这个应该会说flag未定义
这个flag=1就是把1赋值给flag,他所在的这个if判断的条件就是题目说的条件,当这些条件都满足了,就得出答案了,所以这个flag在这应该是目标的意思,但flag不是代表目标的值,而是相当于一个布尔值True或False,代表现在的x是不是答案,如果现在的x满足那些条件,就把这个flag设为1,不满足就把x下一个可能的结果—也就是(i+1)*7赋值上去,直到while i<=100不成立,也就是大于100
然后进入第二个if循环,flag==1就是flag的值为1的意思,Python里==是表示等于,=是表示赋值。现在判断这个flag有没有变成1,有证明目标找到了,没有(还是0)证明范围里没有答案
有就输出答案,没有就说没有。 这个print('阶梯数是: ', x)就是打印
阶梯数是:[和](x现在的值)
程序不显示x但是应该输出答案是几,或者没有
-----------------------------------------------------------------
发代码看小甲鱼的这篇文章https://fishc.com.cn/thread-52272-1-1.html{:10_332:} 开心超仁 发表于 2020-8-26 21:34
flag=0是给这个变量一个初始值,后面在if判断里用的时候给他赋值,要是没有这个应该会说flag未定义
这个 ...
懂了懂了 感谢 ID花花花 发表于 2020-8-26 21:41
懂了懂了 感谢
没事一起加油{:10_257:}
页:
[1]