python实现猜数游戏(保存游戏记录)

作者:sea_kingdom 时间:2022-08-31 09:39:54 

本文实例为大家分享了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微信跳一跳游戏集合

来源:https://blog.csdn.net/sea_kingdom/article/details/106106439

标签:python,猜数,游戏
0
投稿

猜你喜欢

  • Python 变量类型及命名规则介绍

    2022-09-17 20:21:22
  • Pandas数据结构中Series属性详解

    2021-12-13 22:32:17
  • python判定文件目录是否存在及创建多层目录

    2022-08-12 09:39:03
  • Pytorch转onnx、torchscript方式

    2022-05-03 11:10:43
  • 科学知识:理解socket

    2022-11-28 09:50:07
  • Python实现实时数据采集新型冠状病毒数据实例

    2021-04-23 14:18:38
  • 学生信息管理系统Python面向对象版

    2021-11-11 03:11:04
  • 如何使用数组来显示下拉菜单?

    2010-05-16 15:19:00
  • JavaScript[对象.属性]集锦

    2020-07-08 18:05:45
  • 详解Python查找谁删了你的微信

    2021-01-02 02:32:02
  • Python通过命令开启http.server服务器的方法

    2022-10-08 01:42:41
  • 解决django后台管理界面添加中文内容乱码问题

    2023-05-12 21:49:36
  • python使用Word2Vec进行情感分析解析

    2023-10-29 21:16:47
  • JavaScript实现简单省市联动

    2024-04-16 09:53:44
  • Python爬取阿拉丁统计信息过程图解

    2022-04-02 06:23:22
  • 详解python的异常捕获

    2023-05-27 11:24:03
  • 浅谈Scrapy网络爬虫框架的工作原理和数据采集

    2023-08-24 22:17:21
  • 详解Python如何实现批量为PDF添加水印

    2022-06-20 23:33:58
  • pyecharts实现数据可视化

    2023-05-24 06:18:48
  • python处理列表的部分元素的实例详解

    2021-04-16 01:13:05
  • asp之家 网络编程 m.aspxhome.com