python代码实现猜拳小游戏


Posted in Python onNovember 30, 2020

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

游戏实现具体功能

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

python代码实现猜拳小游戏

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

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

格式如下:

python代码实现猜拳小游戏

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

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

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

Python 相关文章推荐
在java中如何定义一个抽象属性示例详解
Aug 18 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
python实现BackPropagation算法
Dec 14 Python
基于python进行桶排序与基数排序的总结
May 29 Python
python文件处理fileinput使用方法详解
Jan 02 Python
Python3.7实现验证码登录方式代码实例
Feb 14 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
Python collections.deque双边队列原理详解
Oct 05 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 Python
Opencv实现二维直方图的计算及绘制
Jul 21 Python
Django 权限管理(permissions)与用户组(group)详解
Nov 30 #Python
python 如何引入协程和原理分析
Nov 30 #Python
Django缓存Cache使用详解
Nov 30 #Python
Django框架实现在线考试系统的示例代码
Nov 30 #Python
python爬虫 requests-html的使用
Nov 30 #Python
python实现登录与注册系统
Nov 30 #Python
python代码实现图书管理系统
Nov 30 #Python
You might like
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
用jmSlip编写移动端顶部日历选择控件
2016/10/24 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
js动态引入的四种方法
2018/05/05 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
python使用marshal模块序列化实例
2014/09/25 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
python去掉空白行的多种实现代码
2018/03/19 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
大学生职业生涯规划范文
2014/01/22 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
初婚未育证明样本
2014/10/24 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
公司放假通知怎么写
2015/04/15 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python