python代码实现猜拳小游戏
作者:江liuer_666 发布时间:2023-10-16 19:00:46
标签:python,猜拳
本文实例为大家分享了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("欢迎再次使用猜拳游戏")
初学者作品,有错大神请指正
来源:https://blog.csdn.net/weixin_51322568/article/details/109367313
0
投稿
猜你喜欢
- 一、 操作数据库(mysql)的工具1.1命令行工具1.2navicat界面化工具1.3phpAdmin界面化工具一般情况下安装phpstu
- ps:大多与c等编程语言极为相似一、if分支if:给定一个条件,同时为该条件设置多种(一般两种)情况,然后通过条件判断来实现具体的执行段复合
- 在设计网页时,经常遇到某些页面需限权访问的情况。比如,一个公司的某些产品只让某一或某些供应商或客户浏览。那么,我们如何实现这一功能呢?本文,
- 这种组合使得开发Web程序简单、安全、效率高。由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面
- 今天有朋友问到如下一则案例,ORA-01114,ORA-27067以及OSD-04026错误同时出现:*** ACTION NAME:()
- 我们这里所说的head区域,是指页页html代码的<head>和</head>之间的内容。在以前的文章中,主要介绍了
- 特点:1.图片预载入,载入后再显示。意图一次呈现,不会让一块一块下载破坏你的页面,绝佳的用户体验,颠覆传统的浏览器呈现图片的处理方式(需要后
- win2000注册表程序 regedt32.exe下面是解决IIS出现Active Server Pages错误&
- 还是决定冠上ajax的头衔,毕竟很多人会用这个关键词搜索。虽然我认为这只是个炒作的概念,不过不得不承认ajax叫起来要方便多了。ajax的意
- 首先让我们看下 YUI 是如何处理的:var toObject = function(a) { var o = {
- 最近遇到SQL Server 2005 输入框不能输入中文,在网上查了N久,试验了十几次奏这个法子有用:“把你表中的自动编号列放到最后面”。
- 1. 用Dreamweaver 4.0轻松设计会自动弹性调整的网页 首先需要保证的是你的页面内容采用了表格的格式,然后打开你要编辑的页面,按
- 简介  在现在的移动端App中,由于开发效率、需求频繁变更的需求情况下,经常有相关的运营需求,经常要进行更新,如果全部采用
- 众所周知,凡是用 FrontPage 做的网页里面都有类似这样的标记:<META content="Microso
- sql注入:正常情况下:delete.php?id=3;$sql = 'delete from news where id =
- 这篇文章主要介绍了jekins配置python脚本定时任务过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 1、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Applicatio
- <?php //设置我们将要使用的文件 $srcurl = "http://localhost/index.php"
- 很久之前就对jQuery.animate的实现非常感兴趣,不过前段时间很忙,直到前几天端午假期才有时间去研究。jQuery.animate的
- 前言今天的文章比较基础,但却是必须掌握的,而且本文有些内容,也许你之前没想过。希望这篇文章能够让你理解环境变量并掌握 Go 环境变量相关操作