欢迎光临我的blog!!!下面我将用python实现猜数字游戏。

用python实现猜数字游戏可以加深python初学者循环结构的理解和运用。

猜数字游戏规则如下:

电脑程序随机生成一个数字,作为猜数字游戏的最终答案,用户在键盘输入所猜数字。用户每猜一次程序都会做出相应的提示。若用户输入所猜的数字小于电脑随机生成的数字,则提示“你猜小了”;若大于,则提示“你猜大了”;若等于,则提示“恭喜你,猜对了”。

这里我们需要用到一个随机生成数字的库:random,使用如下:

#导入随机生成模块
import random
#随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1,100)

假设对用户所猜数次数没有限制,直到猜中为止。则我们通过while循环实现猜数字游戏:

# 导入随机生成模块
import random
# 随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1, 100)

while True:
    your_answer = int(input("请输入你的答案:"))
    if your_answer > answer:
        print("你猜大了大")
    elif your_answer < answer:
        print("你猜小了")
    else:
        print("恭喜你,猜中了")
        break

 结果如下:

 

如果对猜次数有限制,则我们可以用一个变量,如‘count’用来存储所猜次数,当达到次数限制则提前退出游戏,代码如下(这里我们也可以直接用for循环控制循环次数):

# 导入随机生成模块
import random
# 随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1, 100)
#统计所猜次数
count = 0
while True:
    count += 1               #每循环一次,count加一
    your_answer = int(input("请输入你的答案:"))
    if your_answer > answer:
        print("你猜大了")

    elif your_answer < answer:
        print("你猜小了")
    else:
        print("恭喜你,猜中了")
        break
    if count == 3:            #循环次数达到3,则游戏结束退出循环
        print("游戏结束,您未猜中")
        break

结果如下:

接下来我们对这个游戏进行一个小改动,由用户输入一个数字,让电脑猜:

代码如下:

# 导入随机生成模块
import random
#用户输入数字
answer = int(input('请输入答案:'))
#每循环一次,改变范围。big表示范围结束值,small表示范围开始值,count依然用于统计次数
big, small, count= 100, 1, 0
#电脑程序所猜第一个值,我们先在循环外得到
guess = random.randrange(small, big)

while True:
    count += 1
    if guess > answer:
        print(f'电脑猜{guess},猜大了')
        big = guess
        guess = random.randrange(small, guess)
    elif guess < answer:
        print(f'电脑猜{guess},猜小了')
        small = guess +1
        guess = random.randrange(small, big)
    else:
        print(f'正确答案{answer},电脑猜{count}次猜中了,给它666')
        break

 结果如下:

大家有更好的想法,欢迎在下方留言评论哦

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐