1. 程式人生 > 程式設計 >python程式碼實現猜拳小遊戲

python程式碼實現猜拳小遊戲

本文例項為大家分享了python程式碼實現猜拳小遊戲的具體程式碼,供大家參考,具體內容如下

遊戲實現具體功能

原有的使用者登入的資訊均能儲存在txt檔案裡,註冊的資訊也能儲存在txt裡面
格式如下:

python程式碼實現猜拳小遊戲

便於之後轉換成列表字典形式添加註冊資料

使用者的猜拳記錄也能儲存在txt中並以如下格式顯示

格式如下:

python程式碼實現猜拳小遊戲

具體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("歡迎再次使用猜拳遊戲")

初學者作品,有錯大神請指正

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。