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之Python安装
Sep 12 Python
在Python的Django框架中加载模版的方法
Jul 16 Python
Python语言实现获取主机名根据端口杀死进程
Mar 31 Python
win10系统中安装scrapy-1.1
Jul 03 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
有关Python的22个编程技巧
Aug 29 Python
神经网络相关之基础概念的讲解
Dec 29 Python
python之pyqt5通过按钮改变Label的背景颜色方法
Jun 13 Python
python统计指定目录内文件的代码行数
Sep 19 Python
python程序中的线程操作 concurrent模块使用详解
Sep 23 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
Keras—embedding嵌入层的用法详解
Jun 10 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防CC攻击实现代码
2011/12/29 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
2015/11/15 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
Python yield 使用方法浅析
2017/05/20 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
python实现五子棋小程序
2019/06/18 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
安全大检查反思材料
2014/01/31 职场文书
网络技术专业求职信
2014/02/18 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
寒假安全保证书
2015/02/28 职场文书
公司开除员工通知
2015/04/22 职场文书