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操作CouchDB的方法
Oct 08 Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
Python虚拟环境virtualenv的安装与使用详解
May 28 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
Nov 15 Python
python实现银行管理系统
Oct 25 Python
关于Python-faker的函数效果一览
Nov 28 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
Pandas 数据编码的十种方法
Apr 20 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
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
浅析jquery与checkbox的checked属性的问题
2016/04/27 Javascript
VueJS全面解析
2016/11/10 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
js调用设备摄像头的方法
2018/07/19 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
django 实现简单的插入视频
2020/04/07 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
品恩科技软件测试面试题
2014/10/26 面试题
心理健康心得体会
2014/01/02 职场文书
地心历险记观后感
2015/06/15 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS