最近在尝试做一个密码管理系统,因为要记住那么多的账号和密码,实在有点为难老年人,所以就想做一个只属于自己的密码管理器,加密和解密的规则由自己来定。今天就总结一下这个过程遇到的一些问题吧,知识点有点散乱,但是都是自己确实出现的问题。
1. 关于输入
1.1 input()得到的事一个字符串,eval()可以将字符串的引号去掉,变为int型,但是去掉引号的字符不能是字母,必须为数 字
2. 关于字符串
[chr(i) for i in range(97, 123)]可以得到一个从a到z的列表,同理[chr(i) for i in range(65, 90)]得到的事A到Z的列表,数字的ACSII码是48到57。chr()可以将十进制数转化为ACSII码,例如chr(2),结果为'\x02'。ord()可以将字符转化为十进制数,注意,例如要将2转化为对应的字符,则应该用ord('2'),结果为50。
3. 关于字典,列表,字符串
3.1 遍历字典的方法
dicts = { 'name': 'jiangwei', 'sex': 'm', 'grade': '78', } for k, v in dicts.items(): print(k+': '+v)
字典排序:sorted,
例如:
sorted(dicts.keys) # 以keys排序 sorted(dicts.values) #以values排序
3.2 字典,元组,字符串,列表之间的转化
字典转其他
# 字典转字符串 str(dict) # 字典转元组 tuple(dict) #返回keys tuple(dict.values()) #返回values # 字典转列表 list(dict) # 返回keys的列表 list(dict.values()) # 返回values的列表 # 列表转字符串 lst = ['a','b','c'] str(lst) # 列表转元组 tuple(lst) # 列表不能转为字典 # 字符串转元组 st = 'abcd' tuple(st) # 字符串转列表 list(st)
3.3 zip()函数和range()函数
相似点是迭代器,range()函数实际上是“左闭右开”的;zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表,即返回值是元组列表。
例子:
4. tkinter的一些属性及方法
text 要实现的文本
bg 背景颜色
front 字体属性
width 宽度
height 高度
一个问题:
上面取vi时,要逆序取,因为insert()取出的本来就是逆序的,所以要得到正序的话,只能利用循环让insert()从最后一个开始去,显示的就是正序的了