字符串是一个容器,包含若干个字符并按照必定的顺序组织成一个总体。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)
复制代码