python射击游戏代码_python代码实现猜拳小游戏

这篇文章主要为大家详细介绍了python代码实现猜拳小游戏,以文本文件存储与调用信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python代码实现猜拳小游戏的具体代码,供大家参考,具体内容如下

游戏实现具体功能

原有的用户登录的信息均能保存在txt文件里,注册的信息也能保存在txt里面
格式如下:

5ebf916ae6606d48a5ac5b6d073ebf79.png

便于之后转换成列表字典形式添加注册数据

用户的猜拳记录也能保存在txt中并以如下格式显示

格式如下:

85f14fff09b5381a6cc3b3207b371d2e.png

具体Python代码:

#-*- coding=utf8 -*-# @author:sololi# date: 2020/10/24# 文件说明 :# 123文件存放 用户信息 456 文件存放猜拳结果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  b=a[i].split(',')  i+=1 j=0 while j  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    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    if (password == shuju[i]["密码"]):     print("密码正确")     jg2=1     break    i+=1   if(jg2!=1):    print("密码错误")   elif(jg2==1):    breakelif 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()   breakelse: 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("欢迎再次使用猜拳游戏")

以上就是本文的全部内容,希望对大家的学习有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值