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 网络编程起步(Socket发送消息)
Sep 06 Python
Python函数嵌套实例
Sep 23 Python
python3.5仿微软计算器程序
Mar 30 Python
打包发布Python模块的方法详解
Sep 18 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
基于Django模板中的数字自增(详解)
Sep 05 Python
Python实现翻转数组功能示例
Jan 12 Python
flask框架中勾子函数的使用详解
Aug 01 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
Python3如何判断三角形的类型
Apr 12 Python
python自动化调用百度api解决验证码
Apr 13 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 Stream_*系列函数
2010/08/01 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
四个PHP非常实用的功能
2015/09/29 PHP
php之可变变量的实例详解
2017/09/12 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
jQuery 工具函数学习资料
2010/04/29 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
在VUE中使用lodash的debounce和throttle操作
2020/11/09 Javascript
Python编程实现蚁群算法详解
2017/11/13 Python
一文了解Python并发编程的工程实现方法
2019/05/31 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
《孔子游春》教学反思
2014/02/25 职场文书
导游词欢迎词
2015/02/02 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
Spring实现内置监听器
2021/07/09 Java/Android