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 相关文章推荐
Python urllib模块urlopen()与urlretrieve()详解
Nov 01 Python
Python HTMLParser模块解析html获取url实例
Apr 08 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
Python 专题六 局部变量、全局变量global、导入模块变量
Mar 20 Python
python查询mysql,返回json的实例
Mar 26 Python
Python面向对象程序设计之类的定义与继承简单示例
Mar 18 Python
简单了解django缓存方式及配置
Jul 19 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
使用OpenCV去除面积较小的连通域
Jul 05 Python
Python爬虫之爬取最新更新的小说网站
May 06 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
php按百分比生成缩略图的代码分享
2014/05/10 PHP
php查看当前Session的ID实例
2015/03/16 PHP
php基础教程
2015/08/26 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
php中如何执行linux命令详解
2018/11/06 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
Python日期操作学习笔记
2008/10/07 Python
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
Python读写zip压缩文件的方法
2018/08/29 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
Django框架视图函数设计示例
2019/07/29 Python
简单了解python元组tuple相关原理
2019/12/02 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
环保建议书300字
2014/05/14 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
平遥古城导游词
2015/02/03 职场文书
Nginx 匹配方式
2022/05/15 Servers