Python小游戏《猜数字》

木叶 于 2021-06-06 发布

最近开始学习 Python,特地使用两天的学习成果用来做了一个小游戏,游戏中涉及到了随机数模块的导入、变量、数组、字符串文本输入、字符串文本输出、while 循环、if 判断语句、or 逻辑值判断、str()转文本函数、int()转整数函数、randint(a,b)随机整数函数、使用+号来连接字符串等,特地做了一个学习笔记来记录,以便后期复习!

import random
print("亲爱的玩家,您好!欢迎来到《猜数字》游戏,我是裁判官妮妮,将在游戏中为各位玩家提供服务!")
玩家个数=int(input("请输入在场玩家个数(例如3):"))
a=1
姓名数组=[]
while a <= 玩家个数:
    姓名数组.append(input("请输入第" + str(a) + "位玩家姓名:"))
    a=a+1
print("好的,现在请" + str(玩家个数) + "位玩家做好准备!")#输出显示的字符串文本需要使用str()函数进行转换!
玩家个数=玩家个数-1#因为数组的索引是从0开始的,所以我们把得到的玩家个数减去1
游戏继续 = "y"
while  游戏继续 == "y":
    d=random.randint(0,玩家个数)#从玩家个数当中随机抽取一个人来输入最大值
    d=int(input("请第" + str(d+1) + "位玩家" + 姓名数组[d] + "输入一个可能出现的最【大】整数值(例如100):"  ))#d表示最大值
    x=random.randint(0,玩家个数)#从玩家个数当中随机抽取一个人来输入最小值
    x=int(input("请第" + str(x+1) + "位玩家" + 姓名数组[x] + "输入一个可能出现的最【小】整数值(例如0):"))#x表示最小值

    s=random.randint(x,d)#在得到的最大值和最小值范围区间取得一个随机整数作为本轮游戏的幸运值,也就是需要猜测得到的整数

    print("好的,现在裁判官妮妮已经在" + str(x) + "至" + str(d) + "之间确认了一位幸运数字,让我们正式进入游戏吧 !")

    猜测数= d +1#在规定的最大值之外设定一个初始猜测数,免得与系统生产的随机数相同

    i=random.randint(0,玩家个数)#i代表姓名列表中的索引号,多位玩家随机开始猜测,并不是从1号玩家开始猜测!

    while 猜测数 != s :#当猜测数与系统设置的幸运数相等时为结束循环条件!

        猜测数=int(input("现在请" + str(i+1) + "号玩家" + 姓名数组[i] + "在【" + str(x) + "】至【" + str(d) + "】之间输入一个整数:"))#玩家输入一个符合猜测范围之间的整数!

        if 猜测数 == s :#如果输入的整数等于幸运数,那么当前玩家获得胜利!
            print("恭喜" + str(i+1) + "号玩家" + 姓名数组[i] + "获得胜利!" )
            游戏继续=input("游戏是否继续?(y/n):")

        elif 猜测数 > d or 猜测数 < x :#如果输入的整数不在可猜测范围之内,本次猜测无效,直接跳到下一位玩家开始猜测!
            print(str(i+1) + "号玩家有点小调皮哟,请按裁判官妮妮告知的区间来猜,本次猜测无效!")

        elif 猜测数 > s :#如果输入的整数大于幸运数,则把输入的整数赋值给可猜测范围的最大值
            d=猜测数
            print(str(i+1) + "玩家" + 姓名数组[i] + "猜测数字过【大】!")

        elif 猜测数 < s :#如果输入的整数小于幸运数,则把输入的整数赋值给可猜测范围的最小值
            x=猜测数
            print(str(i+1) + "玩家" + 姓名数组[i] + "猜测数字过【小】!")

        if i == 玩家个数 :
            i=0
        else:
            i=i+1
print("游戏结束!欢迎再来!")