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实现挑选出来100以内的质数
Mar 24 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
python Tcp协议发送和接收信息的例子
Jul 22 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
Python closure闭包解释及其注意点详解
Aug 28 Python
使用pyqt 实现重复打开多个相同界面
Dec 13 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
浅谈pytorch中的BN层的注意事项
Jun 23 Python
python使用glob检索文件的操作
May 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 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
JS实现来回出现文字的状态栏特效代码
2015/10/31 Javascript
jQuery动态添加
2016/04/07 Javascript
canvas实现图像截取功能
2017/02/06 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
js实现鼠标拖曳效果
2020/12/30 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
python 绘制国旗的示例
2020/09/27 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
高山背包:High Sierra
2017/11/23 全球购物
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
企业仓管员岗位职责
2014/06/15 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
三年级学生评语大全
2014/12/26 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
世界十大狙击步枪排行榜
2022/03/20 杂记