1. 程式人生 > >python全棧筆記-day06-function

python全棧筆記-day06-function

#修改個人資訊程式
#在一個檔案裡存多個人的個人資訊
#要求:
#1.輸入使用者密碼,正確後登陸系統,並列印
####1.修改個人資訊
####2.列印個人資訊
####3.修改密碼
#2.每個選項寫一個方法
#3.登陸時輸錯3次退出程式

lst = []
lst2 = []

def change_info(list):#修改個人資訊
    print('''-------Personal Infomation------
1.Username:  %s   
2.Age:       %s   
3.Job:       %s   
4.Department:%s   
-------End------'''%(list[0],list[2],list[3],list[4]))
    change_choice = input('請輸入修改項:')
    if change_choice == '1':
        print('原Username:',list[0])
        new_content = input('現Username:')
        isexist = False
        for i in lst2:
            if new_content in i:
                print('已存在!')
                isexist = True
        if not isexist:
            list[0] = new_content
            save_in_file()
            print('修改成功!')
    elif change_choice == '2':
        print('原Age:',list[2])
        new_content = input('現Age:')
        list[2] = new_content
        save_in_file()
        print('修改成功!')
    elif change_choice == '3':
        print('原Job:',list[3])
        new_content = input('現Job:')
        list[3] = new_content
        save_in_file()
        print('修改成功!')
    elif change_choice == '4':
        print('原Department:',list[4])
        new_content = input('現Department:')
        list[4] = new_content
        save_in_file()
        print('修改成功!')
    else:
        print('輸入錯誤!')

def print_info(list):#列印個人資訊
    print('Username:%s  Age:%s  Job:%s  Department:%s'%(list[0],list[2],list[3],list[4]))

def change_password(list):
    old_password = input('原密碼:')
    if old_password == list[1]:
        new_password = input('新密碼:')
        list[1] = new_password
        save_in_file()
    else:
        print('密碼錯誤!')

def save_in_file():
    f = open('函式練習題.txt', 'w')
    for i in lst2:
        f.writelines(','.join(i) + '\n')  # ','.join(i)的作用是將i轉化為字串(相當於將列表的[]去掉)
    f.close()


username = input('Username:')
count = 0#用於計算密碼錯誤次數

#將檔案內容讀取進記憶體
f = open('函式練習題.txt','r')
lst = [line.strip() for line in f.readlines()]
f.close()

for i in lst:
    lst2.append(i.split(','))#按逗號將各資訊分割成獨立的字串
for i in lst2:
    if username in i:#判斷使用者名稱是否存在
        while True:
            password = input('Password:')
            if password == i[1]:#密碼正確
                print('Login successfully!')
                while True:
                    print('''1.修改個人資訊
2.列印個人資訊
3.修改密碼''')
                    choice = input('請輸入:')
                    if choice == '1':
                        change_info(i)
                    elif choice == '2':
                        print_info(i)
                    elif choice == '3':
                        change_password(i)
                    else:
                        print('輸入錯誤!')
                break
            else:
                count += 1
                if count == 3:
                    print('密碼輸入錯誤已達3次!')
                    break
                else:
                    print('密碼錯誤!')