python游戏1-猜数字

游戏名字:猜数字

游戏规则:给出一个特定的整数,用户可以在有限的次数内猜测数字,系统根据用户的输入,提示出大了或者是小了,如果猜中则成功,如果猜错则提示用户失败。

1.生成随机数字

使用random.randint(),接收两个参数a b,生成一个a和b之间的整数,包含a、b,生成范围设置为100,次数就是2的多少次方大于这个书即可。2的7次方是128,所以我设置猜测的次数为8次。

# 生成数字范围
MAX_NUM = 100
# 可猜测的次数
GUESS_NUM = 8
currentNum = random.randint(1,MAX_NUM)
print(currentNum)

2.判断结果函数

根据猜测的数字,和随机生成的数字做对比,给一个结果

def judge_num(num):
    # 判断生成的数字
    if num == currentNum:
        print("恭喜你,猜对了!!")
        return True
    elif num > currentNum:
        print("你猜的数大了")
    else:
        print("你猜的数小了")

    return False

3.判断输入的是否为数字

‘0 1 2 3 4 5 6 7 8 9’.split() 会生成 [‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’]的列表

def is_num(num):
    # 判断输入的是否是数字
    if num == "":
        return False
    for j in num:
        if j not in '0 1 2 3 4 5 6 7 8 9'.split():
            return False

    return True

主要程序

首先给出提示,游戏开始,在有限的次数中猜测数字,如果输入的不是数字就无限循环让用户重新输入,如果循环结束,判断猜测的数字是否可正确的数字相等,给出提示。

print(f"我想到一个数字在1到{MAX_NUM}之间,你拥有{GUESS_NUM}次机会奥。")


for i in range(GUESS_NUM):

    guess = ''
    while not is_num(guess):
        print("请你输入数字")
        guess = input()

    guess = int(guess)

    if judge_num(guess):
        break

if guess != currentNum:
    print(f"很遗憾,你没有猜对数字,正确答案是:{currentNum}")

完整代码

import random
# 猜数字游戏

# 生成数字范围
MAX_NUM = 100
# 可猜测的次数
GUESS_NUM = 8
currentNum = random.randint(1,MAX_NUM)
print(currentNum)


def judge_num(num):
    # 判断生成的数字
    if num == currentNum:
        print("恭喜你,猜对了!!")
        return True
    elif num > currentNum:
        print("你猜的数大了")
    else:
        print("你猜的数小了")

    return False


def is_num(num):
    # 判断输入的是否是数字
    if num == "":
        return False
    for j in num:
        if j not in '0 1 2 3 4 5 6 7 8 9'.split():
            return False

    return True


print(f"我想到一个数字在1到{MAX_NUM}之间,你拥有{GUESS_NUM}次机会奥。")


for i in range(GUESS_NUM):

    guess = ''
    while not is_num(guess):
        print("请你输入数字")
        guess = input()

    guess = int(guess)

    if judge_num(guess):
        break

if guess != currentNum:
    print(f"很遗憾,你没有猜对数字,正确答案是:{currentNum}")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我的天才女友

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

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

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

打赏作者

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

抵扣说明:

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

余额充值