网络编程
位置:首页>> 网络编程>> Python编程>> python代码实现猜拳小游戏

python代码实现猜拳小游戏

作者:江liuer_666  发布时间:2023-10-16 19:00:46 

标签: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",mode='a+',encoding="utf8")
 f.write("用户名:{},总数:{:.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("输入有误请重新输入")

print("欢迎再次使用猜拳游戏")

初学者作品,有错大神请指正

来源:https://blog.csdn.net/weixin_51322568/article/details/109367313

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com