例子來源于《python基礎(chǔ)教程》第三版,57p
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的克東網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
該例子主要是使用字典的方式,實(shí)現(xiàn)一個(gè)小型的數(shù)據(jù)庫,通過查詢字典的鍵值來獲取用戶的信息。
本人修改了部分代碼。
#!/usr/bin/python3
-*- coding:utf-8 -*-
# 使用字典構(gòu)建一個(gè)簡(jiǎn)單的數(shù)據(jù)庫
#導(dǎo)入模塊,主要為了做異常退出
import os
# 構(gòu)建people字典,用來存儲(chǔ)用戶信息
people = {
'Ailce':{
'phone': '2341',
'addr': 'Foo drive 23'
},
'Beth': {
'phone': '9102',
'addr': 'Bar street 42'
},
'Cecil': {
'phone': '3158',
'addr': 'Baz avenue 90'
}
}
# 構(gòu)建一個(gè)輸出字典,主要用于后面的輸出,也可以不構(gòu)建,到print的時(shí)間將字符寫上去即可
labels = {
'phone': 'phone number',
'addr': 'address'
}
# 提示用戶輸入名字
name = input('Name:')
request = input('Phone number(p) or address(a)?')
# 判斷用戶數(shù)據(jù)的查詢信息,是地址還是電話,這里我做了修改。
if request == 'p':
key = 'phone'
elif request == 'a':
key = 'addr'
else:
print('Your Input Options Error.')
os._exit(1) #異常退出,不會(huì)執(zhí)行后面的代碼。
# 判斷用戶輸入的名字是否在字典中,這里我做了修改。
if name in people:
print("{}'s {} is {}.".format(name,labels[key],people[name][key]))
else:
print("Sorry.{}'s {} is not existe".format(name,labels[key]))
運(yùn)行結(jié)果:
# 用戶不存在的情況下。
[root@python dict]# python3 phone.py
Name:Peng
Phone number(p) or address(a)?a
Sorry.Peng's address is not existe
#用戶存在的情況下
[root@python dict]# python3 phone.py
Name:Cecil
Phone number(p) or address(a)?p
Cecil's phone number is 3158.
[root@python dict]# python3 phone.py
Name:Cecil
Phone number(p) or address(a)?a
Cecil's address is Baz avenue 90.
[root@python dict]#
# 查詢的參數(shù)錯(cuò)誤的情況下
[root@python dict]# python3 phone.py
Name:Peng
Phone number(p) or address(a)?b
Your Input Options Error.