python代碼實(shí)現(xiàn)猜拳小游戲
本文實(shí)例為大家分享了python代碼實(shí)現(xiàn)猜拳小游戲的具體代碼,供大家參考,具體內(nèi)容如下
游戲?qū)崿F(xiàn)具體功能
原有的用戶登錄的信息均能保存在txt文件里,注冊(cè)的信息也能保存在txt里面格式如下:
便于之后轉(zhuǎn)換成列表字典形式添加注冊(cè)數(shù)據(jù)
用戶的猜拳記錄也能保存在txt中并以如下格式顯示
格式如下:
具體Python代碼:
#-*- coding=utf8 -*-# @author:sololi# date: 2020/10/24# 文件說明 :# 123文件存放 用戶信息 456 文件存放猜拳結(jié)果import sysfff= open(’123’,'r+',encoding='utf8')shuju=[]a=[]b=[]c=[]aa={}username=0for line in fff.readlines(): line=line.strip(’n’) a= line.split(’ ’) i=0 while i<len(a): b=a[i].split(’,’) i+=1 j=0 while j<len(b): if b==' ': break c=b[j].split(’:’,1) aa[c[0]]=c[1] i+=1 j+=1 shuju.append(aa.copy()) #將數(shù)據(jù) 轉(zhuǎn)換成列表字典形式便于后面登錄與注冊(cè)存放數(shù)據(jù)(copy是為了防止添加是數(shù)據(jù)類型不同出錯(cuò))fff.close()print('#######################')print('歡迎進(jìn)入猜拳游戲')print('#######################')denglu=input('登錄輸入1,注冊(cè)輸入2') #登錄程序if denglu=='1' : while True: username = input('請(qǐng)輸入用戶名') jg1= 0 i = 0 while(i<len(shuju)): if (username == shuju[i]['用戶名']): print('用戶名正確') jg1=1 break i+=1 if(jg1!=1): print('用戶名錯(cuò)誤') elif (jg1 == 1): break while True: password = input('請(qǐng)輸入密碼') jg2=0 i = 0 while(i<len(shuju)): if (password == shuju[i]['密碼']): print('密碼正確') jg2=1 break i+=1 if(jg2!=1): print('密碼錯(cuò)誤') elif(jg2==1): breakelif denglu=='2' : while True: username = input('請(qǐng)輸入注冊(cè)的用戶名') jg3 = 0 i = 0 while (i < len(shuju)): if (username == shuju[i]['用戶名']): print('用戶名已經(jīng)存在') jg3 = 1 break i += 1 if(jg3 == 0): password = input('請(qǐng)輸入注冊(cè)的密碼') print('注冊(cè)成功') print('登錄成功') fff = open('123', mode=’a+’, encoding='utf8') fff.seek(2) fff.write('用戶名:{},密碼:{}n'.format(username, password)) fff.close() breakelse: print('輸入有誤,結(jié)束登錄') sys.exit(0)while True: #猜拳游戲程序 xuanzhe = (input('進(jìn)行游戲1n顯示信息2n退出游戲3')) if xuanzhe=='1': z=0.0 c=0.0 import random while True: guess=random.randint(1,3) num=int(input('選擇石頭(1)/剪刀(2)/布(3)')) if (num==1 and guess==2) or (num==2 and guess==3) or (num==3 and guess==1): print('勝') c=c+1 elif num ==guess: print('平') elif(num==1 and guess==3) or (num==2 and guess==1) or (num==3 and guess==2): print('負(fù)') else: print('輸入有誤') continue jieguo=input('是否繼續(xù)游戲,輸入任意退出游戲') z = z + 1 if jieguo=='是': continue else: break kd=((c/z)) print(’總數(shù){:.0f}’ ’勝率:{:.2%}’.format(z,kd)) f=open('456',mode=’a+’,encoding='utf8') f.write('用戶名:{},總數(shù):{:.0f},勝率:{:.2%}n'.format(username,z, kd)) f.close() elif xuanzhe=='2': f = open('456','r+',encoding='utf8') res = f.read() print(res) f.close() elif xuanzhe=='3': break else: print('輸入有誤請(qǐng)重新輸入')print('歡迎再次使用猜拳游戲')
初學(xué)者作品,有錯(cuò)大神請(qǐng)指正
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JavaMail 1.4 發(fā)布2. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析3. Python importlib動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼4. vue使用webSocket更新實(shí)時(shí)天氣的方法5. 解決啟動(dòng)django,瀏覽器顯示“服務(wù)器拒絕訪問”的問題6. Yii2.0引入CSS,JS文件方法7. Nginx+php配置文件及原理解析8. 淺談python出錯(cuò)時(shí)traceback的解讀9. 如何使用CSS3畫出一個(gè)叮當(dāng)貓10. 關(guān)于HTML5的img標(biāo)簽
