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中的JSON模块
Apr 08 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Python实现在线音乐播放器
Mar 03 Python
使用Eclipse如何开发python脚本
Apr 11 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
基于python实现雪花算法过程详解
Nov 16 Python
django 文件上传功能的相关实例代码(简单易懂)
Jan 22 Python
基于Tensorflow高阶读写教程
Feb 10 Python
Python numpy多维数组实现原理详解
Mar 10 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
python 5个顶级异步框架推荐
Sep 09 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
第三节--定义一个类
2006/11/16 PHP
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PHP mysql与mysqli事务使用说明 分享
2013/08/17 PHP
CI框架Session.php源码分析
2014/11/03 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
常用PHP封装分页工具类
2017/01/14 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
js仿淘宝放大镜效果
2020/12/28 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
Python向日志输出中添加上下文信息
2017/05/24 Python
python之消除前缀重命名的方法
2018/10/21 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
护理专业推荐信
2013/11/07 职场文书
班长岗位职责
2013/11/10 职场文书
科级干部考察材料
2014/02/15 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
承诺书怎么写
2014/03/26 职场文书
植树节标语
2014/06/27 职场文书
信仰纪录片观后感
2015/06/08 职场文书
围城读书笔记
2015/06/26 职场文书
敬老院活动感想
2015/08/07 职场文书
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers