利用Python语言编程,完成猜数游戏,系统随机产生一个1到100的数字num1,用户输入一个数字guess,如果没有猜对,根据系统给出的提示重新猜数,直到才对为止。
要求:(1)系统每次都要给出新的猜数范围,比如:随机数为80,系统第一次提示为1到100,当用户第一次猜的数为50,则下一次系统提示为51到100。
(2)需要系统统计用户猜数的次数,并给出分数,一次猜对得100分,以后每猜一次减2分,当成绩为0时猜数结束
(3)当用户猜的数不再系统提示范围时,要给出警告,并加倍惩罚,既减4分,但次数算一次。比如,系统给出的提示范围是1到100,用户猜了一个800,此时要给出警告并加倍扣分。
(4)最后输出猜数结果,猜对的输入猜数次数(还需要给出加倍惩罚的次数),并且给出得分。没有猜对数的(分数已经到0)的,给出惩罚性语言说明,如:你太笨了等。
import random
num1=random.randint(1,100) #随机产生一个1~100的数字
max=100
min=1
score=100
time=0
time2=0
while 1:
if score<=0:
print('很遗憾,没有答题机会了,你真是太笨了!')
break
while 1:
try:
guess=int(input('请猜一个%d~%d的整数:'%(min,max)))
break
except:
print('请输入数字')
if guess==num1:
time=time+1
print('恭喜你猜对了,此次得%d分,共答题%d次,警告%d次'%(score,time,time2))
break
elif guess>max or guess<min:
score=score-4
time=time+1
time2=time2+1
print('警告%d次:不在提示范围内,扣除4分,剩余%d'%(time2,score))
else:
if guess>num1:
score=score-2
time=time+1
print('很遗憾,你答错了,扣除2分,剩余%d'%(score))
max=guess-1
else:
score=score-2
time=time+1
print('很遗憾,你答错了,扣除2分,剩余%d'%(score))
min=guess+1