一、django学习情况
完成4-10,5-1到5-5,6-1到6-3的学习。
1.第5章完成结果图如下
2.6-1至6-3节结果图如下
首先是未登录时页面首页
点击登陆进入登陆页面
点击登陆后跳转到已登陆界面
此刻已经登陆
如果用户名密码错误
3.遇到的问题
(1)5-2节使用github官网下载的xadmin源码使用时出现了各种各样的问题,查询后得知原因是缺乏其他必要的第三方包,因此又使用pip下载了必要的包,下载包时附带下载了许多貌似无用的包,怕出问题就没有卸载
(2)在5-5xadmin全局配置中设置主题的时候始终只显示一个主题,对比老师代码检查自己的也没有发现错误,因为影响不大就没有再纠结这个问题。
(3)页面图片显示不出来,找不出原因,课后提问有些关于这个的问题,但是大多没解决,解决了的方法看不懂。
(4)6-2和6-3中使用的index.html文件和老师使用的有些不同,因为没有学过html,通过视频自己很小心地完善了一下代码,后面的步骤得以继续。
二、python学习情况
1.摘选例题
《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运-网络版.txt”和“寻梦-网络版.txt”。
问题1:请编写程序,对这两个文本中出现的字符进行统计,字符与出现次数之间用冒号:分隔,将两个文件前 100 个最常用字符分别输出保存到“命运-字符统计.txt”和“寻梦-字符统计.txt”文件中,该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计回车字符):
命:90, 运:80, 寻:70, 梦:60 (略) |
问题2:请编写程序,对“命运-字符统计.txt”和“寻梦-字符统计.txt”中出现的相同字符打印输出。“相同字符.txt”文件中,字符间使用逗号分隔。
问题1:
names = ["命运","寻梦"]
for name in names:
fi = open(name+"-网络版.txt", 'r', encoding = 'utf-8')
fo = open(name+"-字符统计.txt", 'w', encoding = 'utf-8')
txt = fi.read()
d = {}
for i in txt:
d[i] = d.get(i, 0)+1
del d['\n']
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True)
for i in range(100):
ls[i] = "{}:{}".format(ls[i][0], ls[i][1])
fo.write(",".join(ls[:100]))
fi.close()
fo.close()
问题2:
def getList(name):
fi = open(name+'-字符统计.txt', 'r', encoding = 'utf-8')
txt = fi.read().split(',')
for i in range(len(txt)):
txt[i] = txt[i].split(':')[0]
fi.close()
return txt
def main():
fo = open('相同字符.txt', 'w', encoding = 'utf-8')
ls1 = getList('命运')
ls2 = getList('寻梦')
ls3 = []
for i in ls1:
if i in ls2:
ls3.append(i)
fo.write(','.join(ls3))
fo.close()
main()
2.知识点
(1)关于format函数,一直忘记“{}”里面代表填充、对齐、宽度等的顺序,所以专门做了一次笔记
print("{:->20,}".format(eval(n)))
冒号后的顺序为:
首先是“-”填充,然后向右对齐,宽度共计为20,“,”代表带千分位分隔符。