python实现猜数游戏(保存游戏记录)


Posted in Python onJune 22, 2020

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

内容如下:

①游戏可以重复进行,每当一个用户结束后,程序会提示是否还要继续,输入y继续,输入其他的字符退出;
②增加玩家姓名,并对该玩家的成绩进行记录,并存储在new.txt文件中;
③增加文件读取功能,即每次程序启动,都首先读取new.txt文件,并给出之前玩家的最高成绩和姓名。(当最高成绩重叠时,取最新记录)

import random
import os
if os.path.exists("D:\\new.txt")==False:  #检测文件是否存在
 file = open('D:\\' + 'new' + '.txt','w') #若不存在则立即创建
 file.close()

temp=1 #控制是否继续
while temp:
 work=random.randrange(1,101) 
 print(work)
 
 with open("D:\\new.txt") as f:    #读出最高纪录
  name=""
  socre=0
  i=1 #奇为成绩,偶为姓名
  for line in f:
   if i%2!=0:
    if socre <= int(line): #(最高成绩相同时,取最新成绩)
     socre=int(line)
     flag=1
   else:
    if temp==1:
     name=line.rstrip()
     flag=0
   i+=1
 
 achievement=100 #成绩初始为100
 time=0 #次数初始为0

 print("——————————猜数游戏——————————")
 print("\t\t请输入一个1到100的整数")
 print("\t\t游戏最高纪录%s"%name)
 print("\t\t分数为:%d"%socre)
 print("\n\t\t注意:")
 print("\t\t 满分100分,每打错一次扣2分!")
 print("\t\t 输入的不是1到100的整数,会有严厉惩罚!")
 print()
 name=str(input("请输入你的姓名:"))
 while(achievement!=0):
  try:
   num=int(input("你猜测的数是:"))
   time+=1

   if (num<1 or num>100): #整数1,100以外的情况
    print("超出范围了,你要受到惩罚!")
    achievement-=4
  
   else:
    if num==work:
     print("\t恭喜你,答对了!")
     print("\t%s的分数是%d"%(name,achievement))
     print("\t你猜数的次数是%d"%time)
     if time==1:
      print("\t你太优秀了!")
     elif 1<time<11:
      print("\t你还算优秀了!")
     elif 10<time<21:
      print("\t你还可以吧!")
     else:
      print("\t一般水平!")
      
     string=str(achievement)+"\n"   #将成绩,姓名写入
     with open("D:\\new.txt","a") as file:
      file.write(string)
     string=name+"\n"
     with open("D:\\new.txt","a") as file:
      file.write(string)
     
     break
 
    else:
     achievement-=2
     if num<work:
      print("数的范围是%d到100"%num)
     else:
      print("数的范围是1到%d!"%num)

   if achievement==0:   #成绩为0时
    print("\t对不起,你错了!")
    print("\t%s的分数是%d"%(name,achievement))
    print("\t你猜数的次数是%d"%time)
    break
 
  except:   #输入非整数时
   time+=1
   achievement-=4
   print("输入的不是整数,你要受到惩罚!")
   if achievement==0:
    print("\t对不起,你错了!")
    print("\t%s的分数是%d"%(name,achievement))
    print("\t你猜数的次数是%d"%time)
    break
 
 string=str(input("是否还要继续?(y,继续):"))   #判断继续时是否为y 
 if string!="y":
  temp=0

更多关于python游戏的精彩文章请点击查看以下专题:

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

Python 相关文章推荐
python实现在字符串中查找子字符串的方法
Jul 11 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 Python
python 获取文件下所有文件或目录os.walk()的实例
Apr 23 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
python 实现多维数组转向量
Nov 30 Python
Python遍历字典方式就实例详解
Dec 28 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
python爬虫请求头的使用
Dec 01 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 #Python
在Mac中配置Python虚拟环境过程解析
Jun 22 #Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 #Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 #Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 #Python
python GUI模拟实现计算器
Jun 22 #Python
keras CNN卷积核可视化,热度图教程
Jun 22 #Python
You might like
建站常用13种PHP开源CMS比较
2009/08/23 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
django 中QuerySet特性功能详解
2019/07/25 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
keras K.function获取某层的输出操作
2020/06/29 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
三个Unix的命令面试题
2015/04/12 面试题
信用社实习人员自我鉴定
2013/09/20 职场文书
yy婚礼主持词
2014/03/14 职场文书
优秀公益广告词大全
2014/03/19 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python