Crossin的编程教室

标题: 求解答贴 [打印本页]

作者: 牛牛牛    时间: 2023-7-4 00:15
标题: 求解答贴
本帖最后由 牛牛牛 于 2023-7-4 00:18 编辑

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

标红的这一段
作者: crossin先生    时间: 2023-7-5 00:05
end 是 kick函数的返回值 ,如果函数里判定游戏已经结束了,就会返回True。所以end就是“游戏是否提前结束”
i 是轮数,每次+1
这两个合一起就是
如果 轮数<5 并且 游戏没有提前结束,那么就继续循环
作者: 牛牛牛    时间: 2023-7-5 21:07
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仅指“没有结束”。
期待老师再次解答,谢谢
作者: crossin先生    时间: 2023-7-6 00:30
end 在循环体内会被重新赋值

你需要再复习一下while的基本用法,花点时间写一写练习题。不然这个小游戏会看着比较晕
作者: 牛牛牛    时间: 2023-7-6 21:52
crossin先生 发表于 2023-7-6 00:30
end 在循环体内会被重新赋值

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

好的,感谢老师耐心解答




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5