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文件和目录操作方法大全(含实例)
Mar 12 Python
用Python编写一个国际象棋AI程序
Nov 28 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
python spyder中读取txt为图片的方法
Apr 27 Python
python pandas 对时间序列文件处理的实例
Jun 22 Python
在IPython中执行Python程序文件的示例
Nov 01 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 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中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
自己写了一个php检测文件编码的函数
2014/04/21 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
关于PHP开发的9条建议
2015/07/27 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
javascript中this指向详解
2016/04/23 Javascript
详解Vue之计算属性
2020/06/20 Javascript
Python yield 小结和实例
2014/04/25 Python
Python实现命令行通讯录实例教程
2016/08/18 Python
python3.6数独问题的解决
2019/01/21 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
通过实例解析Python return运行原理
2020/03/04 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
交通专业个人自荐信格式
2013/09/23 职场文书
村长贪污检举信
2014/04/04 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
航空学院求职信
2014/06/11 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
Go语言读取txt文档的操作方法
2022/01/22 Golang
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
python创建字典及相关管理操作
2022/04/13 Python