import json
import random
import time
date = 'abcdefghijklmnopqrstuvwxyz'
#游戏打字个数
writeNum = 10
#将每次得到的数据进行保存记录
record_time=[]
input_information = {
'开始':'s',
'结束':'o',
}
start_time = 0
over_time = 0
#用户输入内容
def user_input(input_information):
print(f'请输入{input_information["开始"]}\n请输入{input_information["结束"]}')
contain = input()
if contain == 's':
return True
elif contain == 'o':
exit()
else:
return False
#获取随机字符
def sample_str(date):
#从date样例里抽writeNum个数据样例
random_list_date = random.sample(date,writeNum)
str_date = ''.join(random_list_date)
return str_date
#将数据储存到json文件
def json_file(record_time,avg_time):
try:
with open('./history_fun.json','rt',encoding='utf-8') as f:
record_time = json.load(f)
except:
with open('./history_fun.json','w',encoding='utf-8') as f:
json.dump(record_time,f)
record_time.append(avg_time)
with open('./history_fun.json','w',encoding='utf-8') as f:
json.dump(record_time,f)
return record_time
#启动函数
def run(date,writeNum,record_time,input_information,start_time,over_time):
while user_input(input_information):
#记录开始游戏的时间
start_time = time.time()
sample =sample_str(date)
print(sample)
if input() == sample:
over_time = time.time()
avg_time = round((over_time-start_time)/writeNum,3)
fast_time = min(json_file(record_time,avg_time))
print(f'恭喜回答正确平均每字符{avg_time:.3f}')
print(f'最快打字记录为{fast_time}')
else:
print('!!!回答错误!!!')
#测试
if '__main__' == __name__:
print(run(date,writeNum,record_time,input_information,start_time,over_time))