while循环问题
我的代码:x = 7
i=1
while i<= 100:
if (x%2 == 1) and (x%3 == 5) and (x%5 == 4) and (x%6 == 5):
print(x)
else:
x = 7 * (i + 1)
i += 1
正确代码
1. x = 7
2. i = 1
3. flag = 0
4.
5. while i <= 100:
6. if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
7. flag = 1
8. else:
9. x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
10. i += 1
11.
12. if flag == 1:
13. print('阶梯数是:', x)
14. else:
15. print('在程序限定的范围内找不到答案!')
题目:是求一个台阶有多少级,计算过程没有疑问
疑问:为什么不能再while循环中直接 print 答案,还要引入一个flag 直接打印也行。
至于为啥要引入一个flag,你不觉得有个开关控制这个输出结果很有意思吗?……
开关开的时候,print,关的时候就打印else内容。
再引申一下,flag还可以等于2,等于3,可以根据不同的结果输入不同的打印内容。 heidern0612 发表于 2021-8-31 12:51
直接打印也行。
至于为啥要引入一个flag,你不觉得有个开关控制这个输出结果很有意思吗?……
我上边自己打的代码运行出来为空... x%3 == 5{:10_245:}
来, 你告诉我哪个数除3能余5的?
可以,直接写在while里,但这样写的话,要是没找到符合的数怎么办?你就无法打印出'在程序限定的范围内找不到答案!',
同时,还有x%3 == 5这个表达式是错的。 kishere 发表于 2021-8-31 14:54
x%3 == 5
来, 你告诉我哪个数除3能余5的?
哈哈哈哈你不说我真的不知道,错了错了我错了
页:
[1]