【问题描述】hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入一个身份证号码,从这个号码中提取出身份证主人的出生日期。hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入数据:hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
请输入身份证号码:500101200001018456hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出结果:hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
出生日期是:2000年01月01日hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【题前思考】hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
根据问题描述,填写表2-2-1。hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表2-2-1 问题分析hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【解题思路】hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
身份证号码是字符串,可以用索引获取单个字符,用切片获取字符串中的多个字符。字符串的索引号可以是正数,表示从左向右的序号,也可以是负数,表示从右向左的序号。hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【程序代码】hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【代码分析】hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
①:num[6:10]表示身份证号码第6位到第9位的字符构成的一个切片,第一个字符下标为0,不包括右边界10。切片的一般格式为num[start:end],表示字符串中,下标从start到end(不包含)的字符构成的新字符串。索引序号可以是正数(从左向右),也可以是负数(从右向左),如图2-2-1所示。hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
图2-2-1 字符串序列位置索引hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
②:输出出生年月日,字符串中的%是占位符,将其他变量置入字符串指定位置以生成新字符串。%s代表将对应输出数据转换为字符串格式(%d表示整数,%f表示浮点数)。字符串后的%将其后表达式列表中的项依次映射到字符串中,替换其中的占位符,如图2-2-2所示。hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
图2-2-2 格式转换映射图hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【技术全貌】hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
切片是从字符串序列中取出一部分字符序列构成一个新字符串的操作,字符串的切片语法格式一般有3种,见表2-2-2。hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表2-2-2 切片操作的语法格式hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
hxG100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库