当前位置:首页>python>零基础学 Python(5):给猜数字游戏加上“菜单”和“循环”--while 嵌套实战

零基础学 Python(5):给猜数字游戏加上“菜单”和“循环”--while 嵌套实战

  • 2026-09-10 20:36:34
零基础学 Python(5):给猜数字游戏加上“菜单”和“循环”--while 嵌套实战

昨天我们了解了while和in的基本用法,用while实现猜数字内部的逻辑循环;用in实现了选择判断的“容错”问题。那如何连续开局,怎么设置难度等级呢?今天提供给大家两个版本的优化,我们来一起温故知新一下。

V1--连续开局

import random

print("猜数字小游戏开始了!")

while True:

   target = random.randint(1, 50)

   print("\n新的一局开始了!")

   while True:

       guess = int(input("请输入数字:"))

       if guess > target:

           print("猜大了,再接再厉!")

       elif guess < target:

           print("猜小了,再接再厉!")  

       else:

           print("Bingo!!!猜对啦")

           break

print("准备进入下一局...\n")

下面我们以30为例,来看一下运行效果:

与此前不同的是,在结束一局之后会自动开启新一局,原因在于,我们添加了while 外循环。参考代码为标蓝部分:

while True:

   target = random.randint(1, 50)

   print("\n新的一局开始了!")

print("准备进入下一局...\n")

以上是基于1-50阈值范围内的猜数字,如果想要更简单1-20或者更难1-100范围内怎么设置呢?接下来来看一下多版本选择:

V2--多版本选择

import random

print("欢迎来到猜数字游戏")

while True:

print("\n请选择难度:")

   print("1. 简单(1 -20)")

   print("2. 普通(1 -50)")

   print("3. 困难(1 -100)")

   print("4. 退出游戏")

   choice = input("请输入数字(1-4):")

   if choice == "4":

       print("\n感谢游玩,再见!")

       break

elif choice == "1":

       max_num = 20

       level_name = "简单"

   elif choice == "2":

       max_num = 50

       level_name = "普通"

   elif choice == "3":

       max_num = 100

       level_name = "困难"

   else:

       print("⚠️ 输入无效,请选择 1-4。")

       continue      

   target = random.randint(1, max_num)

   print(f"\n--- {level_name}模式:数字范围 1-{max_num} ")

   while True:

       guess = int(input("请输入数字:"))

       if guess > target:

           print("猜大了,再接再厉!")

       elif guess < target:

           print("猜小了,再接再厉!")

       else:

           print("Bingo!!!猜对啦")

           break    

print("准备进入下一局...\n")

这个优化的版本加入了难度选择和判断的代码部分,if和elif提供了4种条件选择:3种难度选择和一种退出机制。

下面我们选困难模式,并以30为例运行一下代码:

结果显示,当你成功猜对之后,会自动跳转下一局。同理,你也可以选择其他不同的模式。以上就是本节要分享的全部内容了。我们可以一起回顾一下重要的点。

重点回顾

1. while True 外循环可以实现连续开局;

2. “\n”代表换行;

3. 多版本可以用if, elif条件选择。

留个小问题

print("\n请选择难度:")

   print("1. 简单(1 -20)")

   print("2. 普通(1 -50)")

   print("3. 困难(1 -100)")

   print("4. 退出游戏")

这段代码有没有更简单的写法?

参考1:采用”\n”换行命令将其放进一个print里。

print("\n请选择难度:\n1. 简单(1-20)\n2. 普通(1-50)\n3. 困难(1-100)\n4. 退出游戏")

往期精彩

零基础学 Python(1):让电脑学会跟你“聊天”

零基础学 Python(2):写个“超市收银机”和“自动售卖机”!

零基础学Python(3) :搞懂 while True 和 break,写个“猜数字”小游戏!

零基础学 Python(4):电脑猜心小游戏,聊聊 while 和 in 的妙用

更多精彩敬请期待中...

微信号丨飞苑的窝

关注 获得 更多 精彩内容

最新文章

随机文章