采用python语言实现猜数游戏_python实现猜数游戏(保存游戏记录)

本文实例为大家分享了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

print("\t你还算优秀了!")

elif 10

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

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游戏的精彩文章请点击查看以下专题:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持站圈网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值