一、猜数字游戏是一个古老的密码破译类、益智类小游戏,通常由两个人参与,一个人设置一个数字,一个人猜数字,当猜数字的人说出一个数字,由出数字的人告知是否猜中:若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”;若猜测的数字小于设置的数字时,出数字的人提示“很遗憾,你猜小了”;若猜数字的人在规定的次数内猜中设置的数字,出数字的人提示“恭喜,猜数成功”。
本实例要求编写程序,实现上述规则的猜数字游戏,并限制猜数机会只有10次。游戏规则:
(1)程序应随机生成一个 1 至 100 之间的整数;
(2)玩家有 10 次机会猜该数字;若猜中,则提示玩家获胜;若未猜中,则提示玩家猜 大了,还是猜小了,并且提示下一次猜数的范围;若 10 次机会用完仍未猜中,则提示玩家失败;
(3)并且在代码中显示该游戏花费时间
代码运行结果:
退出程序请输入0
请输入你猜的数字,你有十次机会:
请输入要猜的数字:23
小于随机数字
下一次请输入 23 ~ 100 之间的数字
请输入要猜的数字:55
大于随机数字
下一次请输入 23 ~ 55 之间的数字
请输入要猜的数字:40
小于随机数字
下一次请输入 40 ~ 55 之间的数字
请输入要猜的数字:48
恭喜你,猜对了!(~ ̄▽ ̄)~
正确数字是: 48
共用了 4 次机会
用时: 19 秒
import random
import time
startTime=time.time()
#代码简介:随机猜数字上进行升级,
# 参与者每次猜测都能提示其范围,并且可以随时退出,并输出使用次数,和游戏时间
print("退出程序请输入0")
random_number=random.randint(1,100)#生成一个随机数字
print("请输入你猜的数字,你有十次机会:")
list1=[1,1,100]
list2=[100,100,1]
t=0
for i in range(10+t):d=eval(input("请输入要猜的数字:"))if d > 100: #如果是超出范围,重新输入print("超出数字范围,此次不会计入相应次数,请重新输入")continueif d!=round(d):print("请输入整数:") #判断是否是整数continueif d>random_number:print("大于随机数字")list1[1]=dprint("下一次请输入",list2[2],"~",list1[1],"之间的数字")#第一次输入大于数字,下一次从1-d开始list1[2]=delif d<random_number and d>0:print("小于随机数字")list2[1]=dprint("下一次请输入",list2[1],"~",list1[2],"之间的数字")list2[2]=delif d==random_number:print("恭喜你,猜对了!(~ ̄▽ ̄)~")breakelif d==0:print("退出成功!")break
endTime=time.time()
if i==9:print("很抱歉,你没有猜对┭┮﹏┭┮,正确数字是:")
print("正确数字是:",random_number)
if d==0:print("共用了",i,"次机会")
else:print("共用了",i+1,"次机会")useTime=int(endTime-startTime)
print("用时:",useTime,"秒")