當前位置:首頁 » 編程語言 » python猜數字游戲代碼

python猜數字游戲代碼

發布時間: 2024-03-16 01:02:17

『壹』 用python寫猜數字小游戲

核心代碼給你,具體的功能還需要自己完善。

importtime,random
classGuessNum:
def__init__(self):
self._num=''
self.input_num=[]
self.count=1#猜對所用次數
self.sec=0#猜對所用時間
self._generate_num()

def_generate_num(self):#產生不重復的四個數字
seq_zton=list(range(10))
foriinrange(0,4):
a=str(random.choice(seq_zton))#選出一個數字
self._num+=a
seq_zton.remove(int(a))#注意a的類型

self.sec=time.clock()#開始計時

defcheck_answer(self):
returnself._num

defcheck_input(self):
num_pos,num_value=0,0#位置對和數值對的分別的個數
tmp=input("Pleaseinputthenumberyouguess(Norepetition),or'c'tochecktheanswer:")
iftmp=='c':
print(self.check_answer())
tof=self.check_input()
returntof
elifnottmp.isalnumornotlen(tmp)==4:
print("Wrongformat!")
tof=self.check_input()#需要優化
returntof
self.input_num=list(tmp)
lst_temp=list(self._num)
ifself.input_num==lst_temp:#猜對
self.prt_vic()
returnTrue
foriinlst_temp:
ifiinself.input_num:
iflst_temp.index(i)==self.input_num.index(i):#位置也相同
num_pos+=1
num_value+=1
else:
num_value+=1

self.prt_state(num_pos,num_value)
self.count+=1
returnFalse

defprt_state(self,num_pos,num_value):
print("You'vegot%%dnumberswiththerightvalueonly"%(num_pos,num_value))

defprt_vic(self):
t=time.clock()
self.sec=t-self.sec
print("Congratulations!!")
print("%dtimesand%."%(self.count,self.sec))

gn=GuessNum()
whileTrue:
ss=gn.check_input()
ifss:
b=input("Continue?y/n:")
ifb=='n':
break
else:
gn=GuessNum()
continue
熱點內容
我的世界安卓手機如何改成官服 發布:2024-11-29 02:43:11 瀏覽:290
域伺服器如何進行管理 發布:2024-11-29 02:43:08 瀏覽:186
ftp失火 發布:2024-11-29 02:42:27 瀏覽:193
flashas編程 發布:2024-11-29 02:38:49 瀏覽:369
先編譯成什麼格式的文件 發布:2024-11-29 02:38:48 瀏覽:120
王者榮耀安卓q區哪個英雄好拿標 發布:2024-11-29 01:56:04 瀏覽:665
網易收件伺服器怎麼填寫 發布:2024-11-29 01:52:15 瀏覽:279
螢石攝像頭激活密碼是多少 發布:2024-11-29 01:51:38 瀏覽:579
iphone如何設置像安卓動態壁紙 發布:2024-11-29 01:37:50 瀏覽:474
電腦如何避過聯網查配置 發布:2024-11-29 01:25:16 瀏覽:972