L-茉遇 发表于 2021-8-31 12:29:48

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

heidern0612 发表于 2021-8-31 12:51:26

直接打印也行。

至于为啥要引入一个flag,你不觉得有个开关控制这个输出结果很有意思吗?……

开关开的时候,print,关的时候就打印else内容。

再引申一下,flag还可以等于2,等于3,可以根据不同的结果输入不同的打印内容。

L-茉遇 发表于 2021-8-31 13:54:33

heidern0612 发表于 2021-8-31 12:51
直接打印也行。

至于为啥要引入一个flag,你不觉得有个开关控制这个输出结果很有意思吗?……


我上边自己打的代码运行出来为空...

kishere 发表于 2021-8-31 14:54:42

x%3 == 5{:10_245:}
来, 你告诉我哪个数除3能余5的?

番杰 发表于 2021-8-31 16:31:40

可以,直接写在while里,但这样写的话,要是没找到符合的数怎么办?你就无法打印出'在程序限定的范围内找不到答案!',
同时,还有x%3 == 5这个表达式是错的。

L-茉遇 发表于 2021-8-31 18:27:12

kishere 发表于 2021-8-31 14:54
x%3 == 5
来, 你告诉我哪个数除3能余5的?

哈哈哈哈你不说我真的不知道,错了错了我错了
页: [1]
查看完整版本: while循环问题