鱼C论坛

 找回密码
 立即注册
查看: 1298|回复: 1

[已解决]第006讲课后问题

[复制链接]
发表于 2017-12-22 15:04:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #课后原始解答
  2. x = 7
  3. i = 1
  4. flag = 0

  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. if flag == 1:
  12.     print('阶梯数是:', x)
  13. else:
  14.     print('在程序限定的范围内找不到答案!')
复制代码
  1. # 在 i += 1处缩进位置不同
  2. x = 7
  3. i = 1
  4. flag = 0

  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. if flag == 1:
  12.     print('阶梯数是:', x)
  13. else:
  14.     print('在程序限定的范围内找不到答案!')
复制代码
  1. # 另外自己的作法
  2. i = 0
  3. while i <= 100:
  4.     x = (i +1 ) * 7
  5.     if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6 == 5):
  6.         print('阶梯数是:',x)
  7.         
  8.     else:
  9.         i += 1
复制代码


一、如果把原始解答中,i += 1的缩进位置改在else里面,为什么程式会跑不出结果?感觉变数 i 应该会一直累加才是。
二、我用自己的想法写出的程式,为什么会跑不出循圈?
最佳答案
2017-12-22 15:15:31
一、如果把原始解答中,i += 1的缩进位置改在else里面,为什么程式会跑不出结果?感觉变数 i 应该会一直累加才是。
并不会,因为当x满足条件以后,再也进不到else分支里面,所以死循环了
二、我用自己的想法写出的程式,为什么会跑不出循圈?
同一,如果x满足条件,而i还没超过100,那么else分支永远进不去了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-22 15:15:31 | 显示全部楼层    本楼为最佳答案   
一、如果把原始解答中,i += 1的缩进位置改在else里面,为什么程式会跑不出结果?感觉变数 i 应该会一直累加才是。
并不会,因为当x满足条件以后,再也进不到else分支里面,所以死循环了
二、我用自己的想法写出的程式,为什么会跑不出循圈?
同一,如果x满足条件,而i还没超过100,那么else分支永远进不去了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-5 01:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表