python代码实现猜拳小游戏

时间:2021-05-22

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

游戏实现具体功能

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

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

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

格式如下:

具体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<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): 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("欢迎再次使用猜拳游戏")

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章