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设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
基于Python的文件类型和字符串详解
Dec 21 Python
python实现扫描日志关键字的示例
Apr 28 Python
Python对excel文档的操作方法详解
Dec 10 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
Mar 01 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
python输出结果刷新及进度条的实现操作
Jul 13 Python
一文读懂Python 枚举
Aug 25 Python
Python os和os.path模块详情
Apr 02 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中如何防止表单的重复提交
2013/08/02 PHP
php商品对比功能代码分享
2015/09/24 PHP
php文件上传类的分享
2017/07/06 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
用Python进行TCP网络编程的教程
2015/04/29 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
2020/03/06 Python
django使用channels实现通信的示例
2020/10/19 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
人事专员岗位职责范本
2014/03/04 职场文书
竞聘书模板
2014/03/31 职场文书
房屋转让协议书
2014/04/11 职场文书
关于保护环境的建议书
2014/05/13 职场文书
企业委托书范本
2014/09/13 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书