鱼C论坛

 找回密码
 立即注册
查看: 2851|回复: 5

[已解决]零基础小白对《零基础入门学习Python》第006讲”动动手“2”爱因斯坦的难题“的疑问

[复制链接]
发表于 2021-4-17 07:29:17 | 显示全部楼层 |阅读模式

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

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

x
2.png
为什么会出现图示情况呢?
在我的理解中,红框部分只在if条件成立时才会进行,那么应该只打印一次呀,为什么会打印这么多次呢?
零基础小白入门难,拜托大家指导一下~
最佳答案
2021-4-17 08:42:02
因为如果执行了这个if里面的内容,x就不会变了
所以这个条件会一直成立
Snipaste_2021-04-17_07-24-21.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-4-17 08:01:42 From FishC Mobile | 显示全部楼层
发文本代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-17 08:42:02 | 显示全部楼层    本楼为最佳答案   
因为如果执行了这个if里面的内容,x就不会变了
所以这个条件会一直成立
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-4-17 09:11:03 | 显示全部楼层
你的 变量  i 和 x 分清楚了没?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-17 09:15:12 | 显示全部楼层
X的赋值运算应该在判断条件之前执行

if...else...
else 可以省略不写的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-17 15:32:29 | 显示全部楼层
2,3楼说得对,一进入if以后,x的值就不变了,所以会成立很多次直到i>100,才退出循环,对比一下
  1. x = 7
  2. i = 1
  3. flag = 0
  4. while i <= 100:
  5.     if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
  6.         flag = 1
  7.     else:
  8.         x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
  9.     i += 1
  10. if flag == 1:
  11.     print('阶梯数是:', x)
  12. else:
  13.     print('在程序限定的范围内找不到答案!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 18:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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