猜数字游戏while循环后的胜负判断if语句未执行问题求助
猜数字游戏while循环后的胜负判断if语句未执行问题求助
嘿,我仔细瞅了你的猜数字游戏代码,发现导致胜负判断不执行的核心问题出在条件逻辑上!
你看,你的while循环条件是cycle < 10——意思是当cycle的值等于10的时候,循环就会停止。但后面你用来触发胜负判断的条件是if cycle > 10,这显然永远满足不了啊!毕竟每次循环里cycle只会加1,跑完10次循环后,cycle刚好是10,根本不会超过10,所以那段判断代码直接被跳过了。
给你两种简单的修改方案,选哪种都可以:
方案一:去掉多余的外层if判断
既然循环结束后cycle肯定等于10,那直接判断count的值就行:
while cycle < 10: FUNC() # 循环结束后直接判断胜负 if count >= 7: print("You win") else: print(f"You lose! Count = {count}")
方案二:修正外层if的条件
如果你非要保留外层判断,那就把条件改成cycle == 10:
while cycle < 10: FUNC() if cycle == 10: if count >= 7: print("You win") else: print(f"You lose! Count = {count}")
另外补充一句:你控制台里的输出只跑了两次就结束,应该是测试的时候手动终止程序了吧?正常跑满10次循环后,修改后的代码就能正常显示胜负结果啦!
备注:内容来源于stack exchange,提问作者pyandbatdudeorsmtlikethat
相关产品推荐
相关产品推荐

