[ Python ]- 建立一簡易小型帳戶登入系統
<!--more-->
使用Python語法撰寫程式為一小型帳戶登入系統:
先來看程式print 出來的結果吧^_^
首先執行程式時會顯示 menu 供 User 輸入選項, 選項1.為建立帳號密碼 2.為顯示目前帳戶資訊
3.為修改密碼 4. 可刪除帳號 , 輸入0為離開程式
首先我們先輸入選項 2 來查看目前是否已經有帳號密碼存在, 上圖為輸入選項2之後的結果,目前帳號密碼為空值, 開始來建立帳號吧~~~~
返回主選單後輸入選項1.來建立帳號
在請輸入欲設定的帳號和密碼, 新增完成按任意鍵返回主選單
返回主選單後再次輸入選項 2 來查詢目前已有的帳號密碼,
這時就能看到方才輸入的帳號密碼的存在囉~~~~~
我們再來新增一組帳號吧~~~~
新增輸入第二組帳號後再次選擇選項2查詢後就會再多一組帳號密碼囉~~~
再來測試選項 3. 執行修改密碼
輸入剛剛曾建立的 123帳號,舊密碼為:222。 輸入完後再輸入欲修改的新密碼
修改完成後再次返回主選單, 可以看到123帳號從原本舊密碼222變成了 555
再來測試選項4 來刪除帳號
以上範例選擇 帳號 123 進行刪除 , 再按確定時會在請 User 輸入 Y 或 N 來判斷是否確定刪除
再次輸入選項 2. 查詢帳號密碼, 可以看到目前帳號只剩下 321 , 帳號123 已經被刪除囉 ^_^
================ 以下附上程式碼 =================
import sqlite3,os
#自定函式menu定義選項功能表
def menu():
os.system("cls")
print("帳號、密碼管理系統")
print("---------------------")
print("1.輸入帳號、密碼")
print("2.顯示帳號、密碼")
print("3.修 改 密 碼")
print("4.刪除帳號、密碼")
print("0.結 束 程 式")
print("---------------------")
#自定函式 input_data建立帳號和密碼
def input_data():
#建立 cursor 物件
cursor = conn.cursor()
#建立一個資料表
sqlstr = 'CREATE TABLE IF NOT EXISTS password \
("name" Text PRIMARY KEY NOT NULL, "pass" TEXT)'
cursor.execute(sqlstr)
# 新增一筆記錄
name=input('請輸入您欲新增的帳號:')
passwd=input('請輸入您欲新增的密碼:')
sqlstr="insert into password values('{}','{}')".format(name,passwd)
cursor.execute(sqlstr)
conn.commit()#主動更新
input('新增帳號完成, 請按任意鍵返回主選單')
#自定函式disp_data顯示所有的帳號和密碼
def disp_data():
# 讀取 password 資料表所有資料,並以 cursor 傳回
cursor = conn.execute('select * from password')
print('帳號\t密碼') #顯示所有 cursor 資料
print("================")
for row in cursor:
print('{}\t{}'.format(row[0],row[1]))
input('按任意鍵返回主選單')
#輸入新密碼取代就密碼,並將資料寫回資料庫中
def chang_data():
while True:
name = input('請輸入帳號:')
password = input('請輸入新密碼:')
sqlstr = "update password set pass='{}' \
where name='{}'".format(password,name)
conn.execute(sqlstr)
conn.commit()
input('密碼更改完畢,請按任意鍵返回主選單')
break
def delete_data():
while True:
name = input('請輸入要刪除的帳號(Enter==>停止輸入)')
#如果帳號不存在,不允許刪除
if name =="":break
sqlstr = "select * from password where name='{}'".format(name)
cursor = conn.execute(sqlstr)
row = cursor.fetchone()
if row == None:
print('{} 帳號不存在 !'.format(name))
continue
print('確定刪除{}的資料:'.format(name))
#確認刪除後,刪除指定的帳號,並將資料寫回資料庫中
yn = input('(Y(確定刪除)/N(返回上一步))?')
if (yn=='Y' or yn=='y'):
sqlstr = "delete from password where name='{}'".format(name)
conn.execute(sqlstr)
conn.commit()
input('已刪除完畢,請按任意鍵返回主選單')
break
# 主程式從此開始
conn = sqlite3.connect('Sqlite01,sqlite')#建立資料庫連線
#依 choice 的輸入值,執行各項操作
while True:
menu()
choice = int(input('請輸入您的選擇:'))
print()
if choice ==1:
input_data()
elif choice ==2:
disp_data()
elif choice ==3:
chang_data()
elif choice ==4:
delete_data()
else:
break
conn.close()#關閉資料庫連線
print('程式執行完畢')
使用Python語法撰寫程式為一小型帳戶登入系統:
先來看程式print 出來的結果吧^_^
首先執行程式時會顯示 menu 供 User 輸入選項, 選項1.為建立帳號密碼 2.為顯示目前帳戶資訊
3.為修改密碼 4. 可刪除帳號 , 輸入0為離開程式
首先我們先輸入選項 2 來查看目前是否已經有帳號密碼存在, 上圖為輸入選項2之後的結果,目前帳號密碼為空值, 開始來建立帳號吧~~~~
返回主選單後輸入選項1.來建立帳號
在請輸入欲設定的帳號和密碼, 新增完成按任意鍵返回主選單
返回主選單後再次輸入選項 2 來查詢目前已有的帳號密碼,
這時就能看到方才輸入的帳號密碼的存在囉~~~~~
我們再來新增一組帳號吧~~~~
新增輸入第二組帳號後再次選擇選項2查詢後就會再多一組帳號密碼囉~~~
再來測試選項 3. 執行修改密碼
輸入剛剛曾建立的 123帳號,舊密碼為:222。 輸入完後再輸入欲修改的新密碼
修改完成後再次返回主選單, 可以看到123帳號從原本舊密碼222變成了 555
再來測試選項4 來刪除帳號
以上範例選擇 帳號 123 進行刪除 , 再按確定時會在請 User 輸入 Y 或 N 來判斷是否確定刪除
再次輸入選項 2. 查詢帳號密碼, 可以看到目前帳號只剩下 321 , 帳號123 已經被刪除囉 ^_^
================ 以下附上程式碼 =================
import sqlite3,os
#自定函式menu定義選項功能表
def menu():
os.system("cls")
print("帳號、密碼管理系統")
print("---------------------")
print("1.輸入帳號、密碼")
print("2.顯示帳號、密碼")
print("3.修 改 密 碼")
print("4.刪除帳號、密碼")
print("0.結 束 程 式")
print("---------------------")
#自定函式 input_data建立帳號和密碼
def input_data():
#建立 cursor 物件
cursor = conn.cursor()
#建立一個資料表
sqlstr = 'CREATE TABLE IF NOT EXISTS password \
("name" Text PRIMARY KEY NOT NULL, "pass" TEXT)'
cursor.execute(sqlstr)
# 新增一筆記錄
name=input('請輸入您欲新增的帳號:')
passwd=input('請輸入您欲新增的密碼:')
sqlstr="insert into password values('{}','{}')".format(name,passwd)
cursor.execute(sqlstr)
conn.commit()#主動更新
input('新增帳號完成, 請按任意鍵返回主選單')
#自定函式disp_data顯示所有的帳號和密碼
def disp_data():
# 讀取 password 資料表所有資料,並以 cursor 傳回
cursor = conn.execute('select * from password')
print('帳號\t密碼') #顯示所有 cursor 資料
print("================")
for row in cursor:
print('{}\t{}'.format(row[0],row[1]))
input('按任意鍵返回主選單')
#輸入新密碼取代就密碼,並將資料寫回資料庫中
def chang_data():
while True:
name = input('請輸入帳號:')
password = input('請輸入新密碼:')
sqlstr = "update password set pass='{}' \
where name='{}'".format(password,name)
conn.execute(sqlstr)
conn.commit()
input('密碼更改完畢,請按任意鍵返回主選單')
break
def delete_data():
while True:
name = input('請輸入要刪除的帳號(Enter==>停止輸入)')
#如果帳號不存在,不允許刪除
if name =="":break
sqlstr = "select * from password where name='{}'".format(name)
cursor = conn.execute(sqlstr)
row = cursor.fetchone()
if row == None:
print('{} 帳號不存在 !'.format(name))
continue
print('確定刪除{}的資料:'.format(name))
#確認刪除後,刪除指定的帳號,並將資料寫回資料庫中
yn = input('(Y(確定刪除)/N(返回上一步))?')
if (yn=='Y' or yn=='y'):
sqlstr = "delete from password where name='{}'".format(name)
conn.execute(sqlstr)
conn.commit()
input('已刪除完畢,請按任意鍵返回主選單')
break
# 主程式從此開始
conn = sqlite3.connect('Sqlite01,sqlite')#建立資料庫連線
#依 choice 的輸入值,執行各項操作
while True:
menu()
choice = int(input('請輸入您的選擇:'))
print()
if choice ==1:
input_data()
elif choice ==2:
disp_data()
elif choice ==3:
chang_data()
elif choice ==4:
delete_data()
else:
break
conn.close()#關閉資料庫連線
print('程式執行完畢')
留言
張貼留言