优化内容
上次所写的 数字炸弹案例 中所留了的bug:
a. 两次死循环,其实可以只用一次的;☑
b. 如果其中一个人输入的数据是无效的后游戏将会重新开始,规则上来讲是直接淘汰该玩家 ☑
本次利用列表坐标 name_Nub 叠加,和一个 continue 就解决了,具体代码如下:
# 数字炸弹游戏
# 1、首先由用户输入一个范围猜取的范围初始值start_Value、end_Value和一个数字作为炸弹Bombs;start_Value = int(input("请输入猜取的范围开始数字:"))
end_Value = int(input("请输入猜取的范围结束数字:"))
Bombs = int(input("请输入炸弹数字:"))
player_List = ["玩家1号","玩家2号","玩家3号"]
# 开始游戏
while(1):name_Nub = 0for i in player_List:player = player_List[name_Nub]guass = int (input(f"请{player},在{start_Value}-{end_Value}中报一个数字:"))if start_Value< guass <end_Value:if guass == Bombs: #判断是否猜中print(f"{player}猜中爆炸,游戏结束!")exit()elif guass > Bombs: end_Value = guassprint(f"恭喜{player}未猜中炸弹,请重新进行排队,游戏继续!")elif guass < Bombs:start_Value = guassprint(f"恭喜{player}未猜中炸弹,请重新参加排队,游戏继续!")name_Nub += 1 #让玩家进行循环叠加else:print(f"{player},您猜的数字属于无效数字,请重新进行排队参加游戏")name_Nub += 1 #让玩家进行循环叠加continue
tips:下次想到更好的解决办法将在本章上直接修改迭代。需要的小伙伴可以直接收藏本章内容哦。
笔记整理不易,观看的官人们记得观看后,一键三联哦!!!