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