今天,我做了猜数字游戏,比我之前做的石头剪刀布好多了,大家可以参考一下,格式都是比较好的,不像石头剪刀布那样没格式。
(石头剪刀布网址:用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("太大了!")