python代码实现猜拳小游戏
本文实例为大家分享了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",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("欢迎再次使用猜拳游戏")
初学者作品,有错大神请指正
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)