Python猜数字游戏(4版)

前言

这是我的一次python实验,记录一下

正文

1.基础版

在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“你猜的数字大于正确答案”;小于预设的数,显示“你猜的数字小于正确答案”,如此循环,直至猜中该数。

guess=0
secret=7
times=1
print("---------欢迎参加猜数字游戏,请开始---------")
while guess!=secret:
    guess=int(input("@数字区间0-9,请输入你猜的数字:"))
    print("你输入的数字是:",guess)
    if guess==secret:
        print("你猜了{}次,猜对了。真厉害". format(times))
    else:
        if guess<secret:
            print("你猜的数字小于正确答案")
        else:
            print("你猜的数字大于正确答案")
        times+=1
print("游戏结束")

结果截图

2.猜100以内随机数

改编1中的猜数字游戏,让计算机能够随机产生一个预设数字,范围在0-100之间,其他游戏规则不变

import random

guess=0
secret=random.randint(0,100)
times=1
print("---------欢迎参加猜数字游戏,请开始---------")
while guess!=secret:
    guess=int(input("@数字区间0-100,请输入你猜的数字:"))
    print("你输入的数字是:",guess)
    if guess==secret:
        print("你猜了{}次,猜对了。真厉害". format(times))
    else:
        if guess<secret:
            print("你猜的数字小于正确答案")
        else:
            print("你猜的数字大于正确答案")
        times+=1
print("游戏结束")

在这里插入图片描述

3.设置最大次数,猜错后提示几次机会

这部分开始,才是我上课要写的内容。

猜数字游戏再续。用变量maxtimes设置允许猜数字的最大次数(比如最多只允许猜6次maxtimes=6),并在猜错后提示还有几次机会。用for循环改写整个程序,并提交。(提示,猜对后可使用break跳出循环)

import random
times =0
guess = 0
secret = random.randint(0, 100)
maxtimes =6
print("-----欢迎参加猜数字游戏,游戏现在开始 -----")

for times in range(maxtimes):
    while guess!=secret:

        times+=1;
        guess =int(input("数字区间0-100,请输入你猜的数字:"))
        print("你输入的数字是:" ,guess)
        if guess==secret:
            print("你猜了{}次,猜对了,真厉害".format(times))
            break
        else:
            if(guess > secret):
                print("太大了!")
                t= maxtimes - times
                print("你还有%d次机会"%(t))
                break
            else:
                print("太小了!")
                t= maxtimes - times
                print("你还有%d次机会"%(t))
                break

print("游戏结束"))

在这里插入图片描述

4.函数封装

为了增加代码的复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将允许猜数字的最大次数maxtimes作为参数。在调用GuessSecret时允许用户自己设置maxtimes,美化程序的输出界面。

import random

def GuessSecret(maxtimes):
    times = 0
    guess = 0
    secret = random.randint(0, 100)
    print("-----欢迎参加猜数字游戏,游戏现在开始 -----")

    for times in range(maxtimes):
        while guess != secret:

            times += 1;
            guess = int(input("数字区间0-100,请输入你猜的数字:"))
            print("你输入的数字是:", guess)
            if guess == secret:
                print("你猜了{}次,猜对了,真厉害".format(times))
                break
            else:
                if (guess > secret):
                    print("太大了!")
                    shengyutimes = maxtimes - times
                    print("你还有%d次机会" % (shengyutimes))
                    break
                else:
                    print("太小了!")
                    shengyutimes = maxtimes - times
                    print("你还有%d次机会" % (shengyutimes))
                    break

    print("游戏结束")


maxt=eval(input("@请输入猜数字的最大次数:"))
GuessSecret(maxt)

在这里插入图片描述

小结

random库的randint(参数1,参数2)函数,参数1和参数2是整数,函数值返回参数1、2之间的任意整数
random库是Python标准库中的一个模块,它提供了用于生成随机数的函数。它可以用于生成伪随机数,以及用于模拟概率分布的随机数。它还提供了一些函数,用于从序列中随机选择元素,以及用于打乱序列中元素的顺序。
random库还提供了一些函数,用于生成随机数组,以及用于生成随机矩阵的函数。random库还提供了一些函数,用于生成随机字符串,以及用于生成随机整数和浮点数的函数。
更多python免费资料,可以关注公众号回复:python资料

  • 48
    点赞
  • 302
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码银

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值