python程式碼實現猜拳小遊戲
阿新 • • 發佈:2020-12-01
本文例項為大家分享了python程式碼實現猜拳小遊戲的具體程式碼,供大家參考,具體內容如下
遊戲實現具體功能
原有的使用者登入的資訊均能儲存在txt檔案裡,註冊的資訊也能儲存在txt裡面
格式如下:
便於之後轉換成列表字典形式添加註冊資料
使用者的猜拳記錄也能儲存在txt中並以如下格式顯示
格式如下:
具體Python程式碼:
#-*- coding=utf8 -*- # @author:sololi # date: 2020/10/24 # 檔案說明 : # 123檔案存放 使用者資訊 456 檔案存放猜拳結果 import sys fff= open('123',"r+",encoding="utf8") shuju=[] a=[] b=[] c=[] aa={} username=0 for 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()) #將資料 轉換成列表字典形式便於後面登入與註冊存放資料(copy是為了防止新增是資料型別不同出錯) fff.close() print("#######################") print("歡迎進入猜拳遊戲") print("#######################") denglu=input("登入輸入1,註冊輸入2") #登入程式 if denglu=="1" : while True: username = input("請輸入使用者名稱") jg1= 0 i = 0 while(i<len(shuju)): if (username == shuju[i]["使用者名稱"]): print("使用者名稱正確") jg1=1 break i+=1 if(jg1!=1): print("使用者名稱錯誤") elif (jg1 == 1): break while True: password = input("請輸入密碼") jg2=0 i = 0 while(i<len(shuju)): if (password == shuju[i]["密碼"]): print("密碼正確") jg2=1 break i+=1 if(jg2!=1): print("密碼錯誤") elif(jg2==1): break elif denglu=="2" : while True: username = input("請輸入註冊的使用者名稱") jg3 = 0 i = 0 while (i < len(shuju)): if (username == shuju[i]["使用者名稱"]): print("使用者名稱已經存在") jg3 = 1 break i += 1 if(jg3 == 0): password = input("請輸入註冊的密碼") print("註冊成功") print("登入成功") fff = open("123",mode='a+',encoding="utf8") fff.seek(2) fff.write("使用者名稱:{},密碼:{}\n".format(username,password)) fff.close() break else: print("輸入有誤,結束登入") sys.exit(0) while True: #猜拳遊戲程式 xuanzhe = (input("進行遊戲1\n顯示資訊2\n退出遊戲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("負") else: print("輸入有誤") continue jieguo=input("是否繼續遊戲,輸入任意退出遊戲") z = z + 1 if jieguo=="是": continue else: break kd=((c/z)) print('總數{:.0f}' '勝率:{:.2%}'.format(z,kd)) f=open("456",encoding="utf8") f.write("使用者名稱:{},總數:{:.0f},勝率:{:.2%}\n".format(username,z,kd)) f.close() elif xuanzhe=="2": f = open("456",encoding="utf8") res = f.read() print(res) f.close() elif xuanzhe=="3": break else: print("輸入有誤請重新輸入") print("歡迎再次使用猜拳遊戲")
初學者作品,有錯大神請指正
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。