用Python制作一个猜数字游戏

今天,我做了猜数字游戏,比我之前做的石头剪刀布好多了,大家可以参考一下,格式都是比较好的,不像石头剪刀布那样没格式。

(石头剪刀布网址:用Python做石头、剪刀、布游戏-CSDN博客

这个游戏除了“\n”要知道是换行,别的可以参考石头剪刀布编写

代码

from random import randint

while True:
    flag=True
    e=0

    
    print("----------猜数字游戏----------\n")
    print("请选择游戏难度:\n1-简单  2-中等  3-困难  4-随机选择 5-自定义")
    a=input("选择: ")

    if a!= "1" and a!="2" and a!="3" and a!="4" and a!="5" and a!="6" :
        print("\n输入错误!请输入数字(例如:1)")
    else:
        if a=="1":
            n=randint(0,50)
            a="简单"
            b=0
            c=50
        elif a=="2":
            n=randint(0,100)
            a="中等"
            b=0
            c=100
        elif a=="3":
            n=randint(0,1000)
            a=="困难"
            b=0
            c=1000
        elif a=="4":
            n=randint(0,2)
            if n==0:
                n=randint(0,50)
                a="简单"
                b=0
                c=50
            elif n==1:
                n=randint(0,100)
                a="中等"
                b=0
                c=100
            else:
                n=randint(0,1000)
                a="困难"
                b=0
                c=1000
        else:
            a="自定义"
            while True:
                b=input("\n请输入最小值")
                try:
                    b=int(b)
                except ValueError:
                    print("你输入的值不是数字,请输入数字")
                    flag=False
                if flag==True:
                    flag=True
                    break
                    
            while True:
                c=input("请输入最大值")
                try:
                    c=int(c)
                except ValueError:
                    print("你输入的值不是数字,请输入数字类型内容")
                    flag=False
                if flag==True:
                    flag=True
                    break
            
            n=randint(b,c)
        
        print(f"\n----------游戏开始---------\n所选模式:{a}\n最小值:{b}\n最大值:{c}")
        while True:
            while True:
                d=input("\n请输入你猜的数:")
                try:
                    d=int(d)
                except ValueError:
                    print("你输入的值不是数字,请输入数字类型内容")
                    flag=False
                if flag==True:
                    flag=True
                    break

            e=e+1
            
            if d==n:
                print(f"猜对了!你一共用了{e}次")
                print("")
                break
            elif float(d)>=n-2.5 and float(d)<=n+2.5:
                print("已经十分接近了,数字就在身边!")
            elif d>=n-5 and d<=n+5:
                if d<n:
                    print("很接近,差不多了,只是小一点")
                else:
                    print("很接近,差不多了,只是大一点")
            elif d>=n-10 and d<=n+10:
                if d<n:
                    print("接近,只是小一点")
                else:
                    print("接近,只是大一点")
            else:
                if d<n:
                    print("太小了!")
                else:
                    print("太大了!")

 效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值