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编程中实现迭代器的一些技巧小结
Jun 21 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
python方法生成txt标签文件的实例代码
May 10 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
Python简单基础小程序的实例代码
Apr 28 Python
使用 Python 清理收藏夹里已失效的网站
Dec 03 Python
python文件处理fileinput使用方法详解
Jan 02 Python
Python django框架 web端视频加密的实例详解
Nov 20 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
Python OpenCV超详细讲解基本功能
Apr 02 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
php生成RSS订阅的方法
2015/02/13 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
Javascript连接Access数据库完整实例
2015/08/03 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
js实现聊天对话框
2020/02/08 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
python中JWT用户认证的实现
2020/05/18 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
请解释在new与override的区别
2012/10/29 面试题
别名指示符是什么
2012/10/08 面试题
教师评优事迹材料
2014/01/10 职场文书
电台实习生求职信
2014/02/25 职场文书
中学生寄语大全
2014/04/03 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
任命书标准格式
2015/03/02 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python