设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 5484|回复: 4
打印 上一主题 下一主题

求解答贴

[复制链接]

1

主题

0

好友

17

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2023-7-4 00:15:28 |只看该作者 |倒序浏览
本帖最后由 牛牛牛 于 2023-7-4 00:18 编辑

请问各位大佬们,猜数字小游戏中,这个循环逻辑怎么理解啊,实在费解,感谢各位解答,谢谢
i = 0
end = False
while i <5 and not end:
   print ('==== Round %d ====' % (i+1))
   end = kick()
   i += 1

标红的这一段
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2023-7-5 00:05:34 |只看该作者
end 是 kick函数的返回值 ,如果函数里判定游戏已经结束了,就会返回True。所以end就是“游戏是否提前结束”
i 是轮数,每次+1
这两个合一起就是
如果 轮数<5 并且 游戏没有提前结束,那么就继续循环
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

17

积分

新手上路

Rank: 1

板凳
发表于 2023-7-5 21:07:01 |只看该作者
crossin先生 发表于 2023-7-5 00:05
end 是 kick函数的返回值 ,如果函数里判定游戏已经结束了,就会返回True。所以end就是“游戏是否提前结束 ...

谢谢老师耐心解答,实在不好意思,我对python一窍不通,我对这段不理解是在while i <5 and not end:这段代码的后边段,我对这段的理解是:当i<5且非“end(1)”时,循环继续。但是在这段代码之前有end(2)=False,那这段代码就是:当i<5且非“False”,再进一步就是:当i<5且“True”,那当kick函数返回True值时,循环应当继续,但事实并非如此;也就是说end(1)与end(2)毫无关联对吗,not end仅指“没有结束”。
期待老师再次解答,谢谢
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2023-7-6 00:30:26 |只看该作者
end 在循环体内会被重新赋值

你需要再复习一下while的基本用法,花点时间写一写练习题。不然这个小游戏会看着比较晕
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

17

积分

新手上路

Rank: 1

5#
发表于 2023-7-6 21:52:11 |只看该作者
crossin先生 发表于 2023-7-6 00:30
end 在循环体内会被重新赋值

你需要再复习一下while的基本用法,花点时间写一写练习题。不然这个小游戏会 ...

好的,感谢老师耐心解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-21 18:21 , Processed in 0.025155 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部