字符串是一個容器,包含若干個字符並按照必定的順序組織成一個總體。python
變量名 = "字符串信息"(推薦)
變量名 = '字符串信息'
變量名 = """字符串信息"""
變量名 = '''字符串信息'''
複製代碼
字符串定義過程當中如出現"匹配問題,使用"進行轉義spa
字符串[開始索引:結束索引] 字符串[開始索引:結束索引:步長]設計
""" 案例找出真兇 張某,綽號「斌哥」,男性,1975年-1978年出生,B型血,身高165-170之間,體重65公斤左右。 河北口音,請協助戶籍警對周邊35w流動人口進行排查。 分析: 1.姓 name startswith 2.名 name nick_name find 3.性別 gender == 4.血型 blood == 5.籍貫 native find 6.出生日期 idcard 切片,比較運算 """
db_infos = [{"name": "張三丰","gender": 1, "nick_name": "三爺", "idcard": "110101153808081017", "blood": "b", "native":"湖北省丹江口市武當山玉虛宮"},{"name": "張大彪","gender": 1, "nick_name": "斌仔", "idcard": "130323197711111011", "blood": "b", "native":"河北省秦皇島市武山海關區鞋拔子路膠水衚衕103"}]
# 1. 循環列表,取出我的信息
for person in db_infos:
# 2. 取出我的信息
name = person["name"]
nick_name = person["nick_name"]
gender = person["gender"]
blood = person["blood"]
native = person["native"]
idcard = person["idcard"]
# 3.判斷是否知足條件
# 3.1 全部條件都知足,打印我的信息
# 3.2 只要有一個條件不知足,檢查下一我的
if not name.startswith("張"):
continue # 若是不姓張,跳出循環
if name.find("斌") == -1 and nick_name.find("斌") == -1:
continue # 若是名字和小名中都沒找到斌,跳出
if gender != 1:
continue # 若是不是男性,跳出
if blood != "b":
continue # 若是不是b型血,跳出
if native.find("河北") == -1:
continue # 若是籍貫中沒有找到河北,跳出
# 身份證號: XXXXXX XXXX XX XX XXX X 取6-9位包括9,注意字典取出的值不必定是數字,用int包裹保證同類中進行對比
if int(idcard[6:10]) < 1975 or int(idcard[6:10]) > 1978:
continue # 若是出生日期小於1975,而且大於1978,跳出
# 設計字典,作對應關係(映射)
genders = {1:"男",0:"女",-1:"不詳"}
# 到達此處說明全部條件都已經經過,打印我的信息
print("姓名:"+name+"小名:"+nick_name+"性別:"+genders[gender]+"血型:"+blood+"籍貫:"+native+"身份證號:"+idcard)
複製代碼