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 相关文章推荐
python3.5仿微软计算器程序
Mar 30 Python
python算法表示概念扫盲教程
Apr 13 Python
如何实现删除numpy.array中的行或列
May 08 Python
Python3中关于cookie的创建与保存
Oct 21 Python
pip安装python库的方法总结
Aug 02 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
使用Python三角函数公式计算三角形的夹角案例
Apr 15 Python
Python装饰器详细介绍
Mar 25 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
javascript RadioButtonList获取选中值
2009/04/09 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
2017/01/13 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
vue生命周期实例小结
2018/08/15 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
js实现微信聊天界面
2020/08/09 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
Python实现从百度API获取天气的方法
2015/03/11 Python
Django实现分页功能
2018/07/02 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
Django用户认证系统 User对象解析
2019/08/02 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
为什么UNION ALL比UNION快
2016/03/17 面试题
军训口号
2014/06/13 职场文书
小学班主任评语
2014/12/29 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
python 用递归实现通用爬虫解析器
2021/04/16 Python