Python【小游戏合集】之自行开发一个猜数字游戏~

导语:

我们时常在电视台看到一些节目,这些节目,会展示一个商品,然后由嘉宾猜价格。嘉宾每猜一次价格,主持人会告诉嘉宾,高了,还是低了。然后嘉宾根据主持人提示,调整报价,直到最后答对。今天这期小编就向大家展示一下这个简单的小游戏。

Python【小游戏合集】之自行开发一个猜数字游戏~_第1张图片

直接上代码

import random
 2
 3print("""
 4######  猜字小游戏  #######
 5#    1.开始游戏           #
 6#    2.任意键自动退出        #
 7######################
 8""")
 9put = input("请输入'1'开始游戏:")
10if put == "1":
11    count = number = 5
12    secret = random.randint(1, 50)
13    print("我已经准备好了数字,一个在1-50之间的数字,来猜一下我心里想的数字是几?")
14    while True:
15        num_str = input("请输入你的答案:").strip()
16        number = number - 1
17        if not num_str.isdigit() and number > 0:
18            print("错误:'%s'不是一个数字。很可惜,你的机会用光光了,下次再来吧" % num_str)
19            break
20        elif not num_str.isdigit():
21            print("错误:'%s'不是一个数字,请输入一个整数。还剩%s次机会" % (num_str, number))
22            continue
23
24        # 这里需要将字符串转换成数字,然后才能与数字进行比较
25        n = int(num_str)
26        if n == secret:
27            print("哼,我心里想的数是%s,你居然猜中了,送你一个甜甜的吻做奖励吧^_^" % secret)
28            exit("游戏结束!")
29        elif n > secret and number > 0:
30            print("我心想的数字比%s小,还剩%s次机会" % (n, number))
31        elif n < secret and number > 0:
32            print("我心想的数字比%s大,还剩%s次机会" % (n, number))
33
34        if number == 0:
35            exit("没想到你那么笨,%d次机会都没有猜到! 不妨告诉你,我心里的数字是:%s" % (count, secret))
36else:
37    exit("退出游戏成功!")

不要小看这个简简单单的猜数字小游戏,它可是涉及到很多的基础知识点的:input函数、字符串、while循环、if条件判断语句、break语句。

那让我们来由浅入深的讲讲本次的案例

游戏介绍:程序自己有一个数字,用户输入一个数字,两个数字进行比较。

Python【小游戏合集】之自行开发一个猜数字游戏~_第2张图片 

先来一个最简单的版本

1. 有一个数字

​my_num = 5

2. 输入一个数字

​
you_num = input("请输入一个数字:")
you_num = int(you_num)

3. 猜数字结果

​
# 一个等于号是复制符号 两个等于号才是等于号
print(my_num, you_num)
print(type(my_num), type(you_num))

# 不同类型之间,肯定是不会相等的
if my_num == you_num:
    print(f'恭喜你猜对了,当前的数字为{my_num}')
else:
    print(f'你太菜了,这都能猜错, 当前的数字为{my_num}, 你输入的数字是{you_num}')

Python【小游戏合集】之自行开发一个猜数字游戏~_第3张图片


是不是很简单,这个是只能猜一次的,不管对错。

下面的就开始升级了,能一直猜,直到猜对为止

升级版

如果我要猜三次、N次,直到猜对位置

times = 1
while True:
    print(f'开始第 {times} 次猜数字')

    you_num = input("请输入一个数字(1-10):")
    # 如果输入的内容不是一个数字
    if you_num.isdigit():
        you_num = int(you_num)

        if my_num == you_num:
            print(f'恭喜你猜对了,当前的数字为{my_num}')
            break  # 猜对了才会进入第 22 行
        else:  # 猜错了才会进入的 23 行
            if my_num > you_num:
                print('数字猜小了')
            else:1
                print('数字猜大了')
        if times == 10:
            print(f'你已经没有机会了')
            break

        times += 1
    else:
        print('输入错误,请输入一个数字')

Python【小游戏合集】之自行开发一个猜数字游戏~_第4张图片

最终版本,随机数:1~100,猜对为止

# random 是一个内置的随机函数模块
import random

my_num = random.randint(1, 100)

times = 1
while True:
    print(f'开始第 {times} 次猜数字')
    you_num = input("请输入一个数字(1-100):")
    you_num = int(you_num)

    if my_num == you_num:
        print(f'恭喜你猜对了,当前的数字为{my_num}')
        break
    else:
        if my_num > you_num:
            print('数字猜小了')
        else:
            print('数字猜大了')

    times += 1

Python【小游戏合集】之自行开发一个猜数字游戏~_第5张图片

 end

这期就分享到这了~以上就是这个游戏涉及到的知识点。大家可以动手尝试一下啦,记得给小编三连噢~家人们的支持是小编更新最大的动力

想领取完整源码跟python学习资料可私信我或点击这行字体即可

你可能感兴趣的:(Python,程序员,python,游戏,开发语言)