资源简介 / 让教学更有效 精品试卷 | 信息第5课 课后练习(学生用)班级:____________ 姓名:____________ 得分:__________一、填空(每空 3 分,共 24 分)1.遍历字符串 s 中的每一个字符,可以写成 for ______ in ______:。2.判断字符 ch 是不是数字字符,用 ch.____________();是不是字母,用 ch.____________()。3.len("hello") 的结果是 ______。4.字符串 "abc" 中,字符 a 的下标是 ______,c 的下标是 ______。5."abc"[::-1] 的结果是 ____________。6."abcdef"[1:3] 的结果是 ____________。二、判断对错(每题 3 分,共 12 分)1."7".isdigit() 的结果是 True。( )2."中国".isalpha() 的结果是 False。( )3.字符串 "3.14" 中的每一个字符都能通过 isdigit() 判断为数字。( )4.s == s[::-1] 可以用来判断字符串是否为回文。( )三、手算模拟题(10 分)下面程序输入 "ab12c",请写出输出结果。s = input()digit = 0letter = 0for ch in s:if ch.isdigit():digit += 1elif ch.isalpha():letter += 1print("数字:", digit)print("字母:", letter)第几圈 ch isdigit isalpha digit letter12345输出结果:数字:______ 字母:______四、★ 补全代码(每空 4 分,共 16 分)第 1 题 判断回文。s = input("请输入字符串:")if s == s[①__________]:print("是回文")else:print("不是回文")第 2 题 统计字符串中各字符类型。s = input()digit = 0letter = 0for ch in s:if ch.②____________:digit += 1elif ch.③____________:letter += 1print("数字:", digit)print("字母:", letter)第 3 题 判断密码是否够长。s = input("请输入密码:")if ④__________ >= 8:print("长度合格")else:print("太短了")① ______ ② ______ ③ ______ ④ ______五、★★ 编程题(每题 10 分,共 20 分)第 1 题 输入一串字符,统计其中字母、数字、其他字符(如空格、标点)各有多少个。________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________第 2 题 输入一个字符串,判断它是不是回文,并额外输出这个字符串的长度。(测试数据:上海自来水来自海上、12321、hello)________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________六、★★★ 挑战题(18 分)升级版密码检查。要求密码必须同时满足以下三条才算「强密码」,否则输出「密码太简单」:① 长度不少于 8 位;② 至少含有一个数字;③ 至少含有一个大写字母。(提示:判断大写字母可以用 ch.isupper())____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________自测数据:密 码 应有结果abc12345 密码太简单(没有大写字母)Abc12345 强密码Abc123 密码太简单(长度不够)ABCDEFGH 密码太简单(没有数字)教师评语:____________________________________________________________________________________________________________________________________21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)21世纪教育网(www.21cnjy.com)/ 让教学更有效 精品试卷 | 信息第5课 课后练习(答案版 · 教师用)班级:____________ 姓名:____________ 得分:__________一、填空(每空 3 分,共 24 分)1.遍历字符串 s 中的每一个字符,可以写成 for ______ in ______:。2.判断字符 ch 是不是数字字符,用 ch.____________();是不是字母,用 ch.____________()。3.len("hello") 的结果是 ______。4.字符串 "abc" 中,字符 a 的下标是 ______,c 的下标是 ______。5."abc"[::-1] 的结果是 ____________。6."abcdef"[1:3] 的结果是 ____________。二、判断对错(每题 3 分,共 12 分)1."7".isdigit() 的结果是 True。( )2."中国".isalpha() 的结果是 False。( )3.字符串 "3.14" 中的每一个字符都能通过 isdigit() 判断为数字。( )4.s == s[::-1] 可以用来判断字符串是否为回文。( )三、手算模拟题(10 分)下面程序输入 "ab12c",请写出输出结果。s = input()digit = 0letter = 0for ch in s:if ch.isdigit():digit += 1elif ch.isalpha():letter += 1print("数字:", digit)print("字母:", letter)第几圈 ch isdigit isalpha digit letter12345输出结果:数字:______ 字母:______四、★ 补全代码(每空 4 分,共 16 分)第 1 题 判断回文。s = input("请输入字符串:")if s == s[①__________]:print("是回文")else:print("不是回文")第 2 题 统计字符串中各字符类型。s = input()digit = 0letter = 0for ch in s:if ch.②____________:digit += 1elif ch.③____________:letter += 1print("数字:", digit)print("字母:", letter)第 3 题 判断密码是否够长。s = input("请输入密码:")if ④__________ >= 8:print("长度合格")else:print("太短了")① ______ ② ______ ③ ______ ④ ______五、★★ 编程题(每题 10 分,共 20 分)第 1 题 输入一串字符,统计其中字母、数字、其他字符(如空格、标点)各有多少个。________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________第 2 题 输入一个字符串,判断它是不是回文,并额外输出这个字符串的长度。(测试数据:上海自来水来自海上、12321、hello)________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________六、★★★ 挑战题(18 分)升级版密码检查。要求密码必须同时满足以下三条才算「强密码」,否则输出「密码太简单」:① 长度不少于 8 位;② 至少含有一个数字;③ 至少含有一个大写字母。(提示:判断大写字母可以用 ch.isupper())____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________自测数据:密 码 应有结果abc12345 密码太简单(没有大写字母)Abc12345 强密码Abc123 密码太简单(长度不够)ABCDEFGH 密码太简单(没有数字)教师评语:____________________________________________________________________________________________________________________________________第 5 课 参考答案(教师用)与《教师参考答案》册同源,全部数值均已实际运行核验一、填空1.ch;s 2.isdigit;isalpha 3.5 4.0;2 5.cba 6.bc二、判断对错1. 2. "中国".isalpha() 的结果是 True,不是 False。 这里是本课最容易讲错的一点:Python 的 isalpha() 是按 Unicode 判定的,汉字属于"字母类字符",所以返回 True。如果老师想表达"只认英文字母",应改用 ch.isascii() and ch.isalpha():'中'.isalpha() → True,但 '中'.isascii() → False,两者同时成立才等价于"英文字母"。(已实测核验:'中'.isalpha(), '中'.isascii() → True False。)3. "3.14" 里的 "." 不是数字字符,".".isdigit() 为 False4. 三、手算模拟题 输入 "ab12c":第几圈 ch isdigit isalpha digit letter1 a 否 是 0 12 b 否 是 0 23 1 是 否 1 24 2 是 否 2 25 c 否 是 2 3输出:数字:2 字母:3四、★ 补全代码① ::-1 ② isdigit() ③ isalpha() ④ len(s)五、★★ 编程题第 1 题 分类统计:s = input()digit = letter = other = 0for ch in s:if ch.isdigit():digit += 1elif ch.isalpha():letter += 1else:other += 1print("字母:", letter, "数字:", digit, "其他:", other)第 2 题 回文判断 + 长度:s = input("请输入字符串:")if s == s[::-1]:print("是回文")else:print("不是回文")print("长度:", len(s))测试:上海自来水来自海上 → 是回文;12321 → 是回文;hello → 不是回文。六、★★★ 挑战题 升级版密码检查s = input("请输入密码:")has_digit = Falsehas_upper = Falsefor ch in s:if ch.isdigit():has_digit = Trueif ch.isupper():has_upper = Trueif len(s) >= 8 and has_digit and has_upper:print("强密码")else:print("密码太简单")自测:abc12345 → 密码太简单(缺大写);Abc12345 → 强密码;Abc123 → 密码太简单(长度不够);ABCDEFGH → 密码太简单(缺数字)。21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)21世纪教育网(www.21cnjy.com) 展开更多...... 收起↑ 资源列表 第5课 字符串处理(上)——遍历与判断课后练习(学生用).docx 第五课课后练习(答案版).docx