python代码实现猜拳小游戏
本文实例为大家分享了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('进行游戏1n显示信息2n退出游戏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('欢迎再次使用猜拳游戏')
初学者作品,有错大神请指正
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章: