中國建設(shè)銀行網(wǎng)站評價西安關(guān)鍵詞優(yōu)化服務(wù)
一、猜數(shù)字游戲是一個古老的密碼破譯類、益智類小游戲,通常由兩個人參與,一個人設(shè)置一個數(shù)字,一個人猜數(shù)字,當(dāng)猜數(shù)字的人說出一個數(shù)字,由出數(shù)字的人告知是否猜中:若猜測的數(shù)字大于設(shè)置的數(shù)字,出數(shù)字的人提示“很遺憾,你猜大了”;若猜測的數(shù)字小于設(shè)置的數(shù)字時,出數(shù)字的人提示“很遺憾,你猜小了”;若猜數(shù)字的人在規(guī)定的次數(shù)內(nèi)猜中設(shè)置的數(shù)字,出數(shù)字的人提示“恭喜,猜數(shù)成功”。
本實例要求編寫程序,實現(xiàn)上述規(guī)則的猜數(shù)字游戲,并限制猜數(shù)機會只有10次。游戲規(guī)則:
(1)程序應(yīng)隨機生成一個 1 至 100 之間的整數(shù);
(2)玩家有 10 次機會猜該數(shù)字;若猜中,則提示玩家獲勝;若未猜中,則提示玩家猜 大了,還是猜小了,并且提示下一次猜數(shù)的范圍;若 10 次機會用完仍未猜中,則提示玩家失敗;
(3)并且在代碼中顯示該游戲花費時間
代碼運行結(jié)果:
退出程序請輸入0
請輸入你猜的數(shù)字,你有十次機會:
請輸入要猜的數(shù)字:23
小于隨機數(shù)字
下一次請輸入 23 ~ 100 之間的數(shù)字
請輸入要猜的數(shù)字:55
大于隨機數(shù)字
下一次請輸入 23 ~ 55 之間的數(shù)字
請輸入要猜的數(shù)字:40
小于隨機數(shù)字
下一次請輸入 40 ~ 55 之間的數(shù)字
請輸入要猜的數(shù)字:48
恭喜你,猜對了!(~ ̄▽ ̄)~
正確數(shù)字是: 48
共用了 4 次機會
用時: 19 秒
import random
import time
startTime=time.time()
#代碼簡介:隨機猜數(shù)字上進(jìn)行升級,
# 參與者每次猜測都能提示其范圍,并且可以隨時退出,并輸出使用次數(shù),和游戲時間
print("退出程序請輸入0")
random_number=random.randint(1,100)#生成一個隨機數(shù)字
print("請輸入你猜的數(shù)字,你有十次機會:")
list1=[1,1,100]
list2=[100,100,1]
t=0
for i in range(10+t):d=eval(input("請輸入要猜的數(shù)字:"))if d > 100: #如果是超出范圍,重新輸入print("超出數(shù)字范圍,此次不會計入相應(yīng)次數(shù),請重新輸入")continueif d!=round(d):print("請輸入整數(shù):") #判斷是否是整數(shù)continueif d>random_number:print("大于隨機數(shù)字")list1[1]=dprint("下一次請輸入",list2[2],"~",list1[1],"之間的數(shù)字")#第一次輸入大于數(shù)字,下一次從1-d開始list1[2]=delif d<random_number and d>0:print("小于隨機數(shù)字")list2[1]=dprint("下一次請輸入",list2[1],"~",list1[2],"之間的數(shù)字")list2[2]=delif d==random_number:print("恭喜你,猜對了!(~ ̄▽ ̄)~")breakelif d==0:print("退出成功!")break
endTime=time.time()
if i==9:print("很抱歉,你沒有猜對┭┮﹏┭┮,正確數(shù)字是:")
print("正確數(shù)字是:",random_number)
if d==0:print("共用了",i,"次機會")
else:print("共用了",i+1,"次機會")useTime=int(endTime-startTime)
print("用時:",useTime,"秒")