猜数字游戏(python,使用random)

1.猜数字游戏
要求:在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“你猜的数字大于正确答案”;小于预设的数,显示“你猜的数字小于正确答案”,如此循环,直至猜中该数,显示“你猜了N次,猜对了,真厉害”,其中N是用户输入数字的次数。

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.猜数字游戏续
要求:改编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

guess = 0 #输入的数字
secret = random.randint(0,100) #生成随机数
maxtimes = 6  #猜数字的次数最大为6

print("---------欢迎参加猜数字游戏,请开始---------")
for i in range(maxtimes):
        guess = int(input("@数字区间0-100,请输入你猜的数字:"))
        print("你输入的数字是:",guess)
        if guess == secret:
           print("你猜了{}次,猜对了,真厉害")
           break
        elif guess < secret:
                print("你猜的数字小于正确答案,还剩下{}次机会。".format(maxtimes -i-1))
        else:
                print("你猜的数字大于正确答案,还剩下{}次机会。".format(maxtimes -i-1))
else:
   print("游戏结束")

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

from random import *  # 导入random库函数,产生随机数

def GuessSecret(maxtimes):  # 封装为函数GuessSecret(maxtimes)
    times = 0  # 猜测的次数
    guess = 0  # 猜测的数字

    secret = randint(0, 100)  # 生成随机数
    print("————————————————————————————")
    print("———                                            ———")
    print("———      欢迎参加猜数字游戏,请开始                 ———")
    print("———                                            ———")
    print("————————————————————————————")

    while times < maxtimes and guess != secret:  # 判断条件
        times += 1;
        guess = int(input("@数字区间0-100,请输入你猜的数字:"))
        print("你输入的数字是:", guess)
        if guess == secret:
            print("你猜了{}次,猜对了,真厉害".format(times))
        else:
            if (guess > secret):
                print("你猜的数字大于正确答案!")
                shengyutimes = maxts - times
                print("你还有{}次机会".format(shengyutimes))
            else:
                print("你猜的数字小于正确答案!")
                shengyutimes = maxts - times
                print("你还有{}次机会".format(shengyutimes))

    print("游戏结束")


maxts = eval(input("@请输入猜数字的最大次数:"))  # 允许用户自己设置maxtimes
print(maxts)
GuessSecret(maxts)  # 调用GuessSecret
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值