【Python038作业】打卡挑战
菜鸟一个写了个很简陋的打卡挑战,根据每天完成任务的时间自动升级(这不是放假了嘛,也算是督促自己)
日志存放在自己选的txt文档
当然,具体升级条件和打印内容可以自己更改
import easygui as g
import time
g.msgbox('欢迎使用坚持打卡系统')
count = 1
fields = []
while 1:
target = g.enterbox(msg = '请输入今天完成的第{}个任务(输入“结束”停止录入)'.format(count),title = '任务清单录入')
if target == '结束':
break
if target == '':#检测是否为空
g.msgbox('您录入的任务不能为空')
continue
else:
count += 1
fields.append(target)
#完成任务的录入
title = '任务清单'
msg = '请输入每一项任务坚持的时间(单位为小时,请输入阿拉伯数字)'
fields_values = g.multenterbox(msg,title,fields = fields)
while 1:#数据不能为空且要为数字
if fields_values == None:
break
errmsg = ''
for i in range(len(fields)):
try:
int(fields_values.strip())
except ValueError:
errmsg += '{}录入数据格式有误,请重新输入\n'.format(fields)
if errmsg == '':
break
fields_values = g.multenterbox(errmsg,title,fields = fields,values = fields_values)
#建立任务清单
dict_target = dict(zip(fields,fields_values))
g.msgbox('请选择一个文本文件保存您的打卡记录')
file_txt = g.fileopenbox()#利用txt文档记录
def check(file_txt):
with open(file_txt) as f1:
content = list(f1)
if content == []:
level = 1
return level
else:
return content[-1][-1]#返回上一次等级
def cul_level():
level = check(file_txt)
with open(file_txt,'a') as f:
f.write('\n{}\n'.format(time.asctime(time.localtime(time.time()))))
f.write('任务记录(L{}):'.format(level))
f.write('\n')
sum_exp = 0
for each_item in dict_target.items():
f.write('{}{}小时\n'.format(each_item,each_item))
exp = int(each_item)*10#每完成一小时经验加十
sum_exp += exp
new_level = int(level) + sum_exp // 50
if new_level > int(level):
f.write('等级升至L{}'.format(new_level))
else:
f.write('等级为L{}'.format(level))
#经验升级规则以及日志录入
cul_level()
不错
页:
[1]