小练习
写一个密码本程序,里面可以存用户名和密码 实现密码的增删改查,要求所有信息保存在文件中
code = []
def ciphertext():
flag = 0
order = int(input("请输入命令进行操作(按0可打印帮助信息): "))
if order == 0:
print("按1,添加用户")
print("按2,删除用户")
print("按3,修改用户信息")
print("按4,查找用户")
print("按5,保存信息并退出系统")
elif order == 1:
name = input("请输入用户名: ")
password = input("请输入密码: ")
information = [name,password]
if information in code:
print("添加失败,该用户已存在!")
else:
code.append(information)
elif order == 2:
print("请输入需要删除的用户的用户名:")
name = input("请输入用户名: ")
for member in code:
if member[0] == name:
del code[flag]
break
else:
flag += 1
else:
print("未找到该用户!")
elif order == 3:
print("请输入需要修改信息的用户的用户名:")
name = input("请输用户名: ")
for member in code:
if member[0] == name:
print("请输入修改后的信息")
name = input("请输入新用户名: ")
password = input("请输入新密码: ")
member[0] = name
member[1] = password
code[flag] = member
break
else:
flag += 1
else:
print("未找到该用户")
elif order == 4:
print("请输入需要查找用户的用户名")
name = input("请输入用户名: ")
for member in code:
if member[0] == name:
print("查找的用户的信息为: 用户名%s ,密码%s "%(member[0],member[1]))
break
else:
print("未找到该用户")
elif order == 5:
return 0
else:
print("命令输入错误,请重新输入")
return 1
f = open("c:/password.txt","a+")
f.seek(0)
msg = []
num = 1
def readmsg():
global num,msg
temp = f.readlines()
for item in temp:
string = ""
item = list(item)
item.remove("\n")
for i in range(len(item)):
string += item[i]
item = string
if num%2 == 0:
msg += [item]
code.append(msg)
msg = []
num = 1
else:
msg += [item]
num += 1
flag = 1
while flag:
readmsg()
flag = ciphertext()
else:
f.close()
if [] not in code:
f = open("c:/password.txt","w+")
for member in code:
f.writelines(member[0]+"\n"+member[1]+"\n")
f.close()
print("信息保存成功并成功退出程序!")
注意:
1、每行之间的缩进
2、逻辑关系(只有把关系滤清,才可以快速的完成)
3、正文和英文符号的切换,一定要使用英文的符号