序列的概念与使用-课堂练习
一、单项选择题
1、关于下面的代码,以下选项中描述正确的是
>>> 1ist(range(0,10,2)
- A 按可变参数调用
- B 执行结果为0, 2, 4, 6, 8
- C 按关键字参数调用
- D 按位置参数调用
【答案】D
【解析】暂无解析
2、关于Python的元组类型,以下选项中描述错误的是
- A 一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
- B Python中元组采用逗号和圆括号(可选)来表示
- C 元组中元素不可以是不同类型
- D 元组一旦创建就不能被修改
【答案】C
【解析】暂无解析
3、元组变量t=(“cat”, “dog”, “tiger”, “human”),t[::–1]的结果是
- A {‘human’, ‘tiger’, ‘dog’, ‘cat’}
- B [‘human’, ‘tiger’, ‘dog’, ‘cat’]
- C 运行出错
- D (‘human’, ‘tiger’, ‘dog’, ‘cat’)
【答案】D
【解析】暂无解析
4、关于Python的列表,以下选项中描述错误的是
- A Python列表是包含0个或者多个对象引用的有序序列
- B Python列表是一个可以修改数据项的序列类型
- C Python列表用中括号[]表示
- D Python列表的长度不可变
【答案】D
【解析】暂无解析
5、关于Python序列类型的通用操作符和函数,以下选项中描述错误的是
- A 如果s是一个序列,x是s的元素,x in s返回True
- B 如果s是一个序列,x不是s的元素,x not in s返回True
- C 如果s是一个序列,s =[1,“kate”,True],s[3] 返回True
- D 如果s是一个序列,s =[1,“kate”,True],s[–1] 返回True
【答案】C
【解析】暂无解析
6、下面代码的输出结果是
s =["seashell","gold","pink","brown","purple","tomato"]
pr1nt(s[1:4:2])
- A [‘gold’, ‘pink’, ‘brown’]
- B [‘gold’, ‘pink’]
- C [‘gold’, ‘pink’, ‘brown’, ‘purple’, ‘tomato’]
- D [‘gold’, ‘brown’]
【答案】D
【解析】暂无解析
v
二、程序设计题
1、点餐
类型:Python 组合数据类型
请补充横线处的代码,listA
中存放了已点的餐单,让 Python 帮你增加一个“红烧肉”,去掉一个“水煮干丝”。
listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤']
listA.___①____ ("红烧肉")
listA.____②____ ("水煮干丝")
print(listA)
**示例1:**
输入:无
输出:"['平桥豆腐', '白灼虾', '香菇青菜', '西红柿鸡蛋汤', '红烧肉']"
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
listA = ['水煮干丝', '平桥豆腐', '白灼虾', '香菇青菜', '西红柿鸡蛋汤']
listA.append("红烧肉") # ① 使用 append 方法将“红烧肉”添加到列表末尾
listA.remove("水煮干丝") # ② 使用 remove 方法将“水煮干丝”从列表中移除
print(listA)
2、输出一串字符对应的Unicode值
描述
获得用户输入的一个字符串,输出每个字符对应的Unicode值,这些值一行输出,采用逗号分隔,最后没有逗号。请完善代码。
s = input("")#输入一个字符串
ls = []
for c in s:
_____①_____
print(_____②_____)
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
s = input("") # 输入一个字符串
ls = [] # 初始化一个空列表,用于存储每个字符的 Unicode 值(作为字符串)
# 遍历输入字符串 s 中的每个字符 c
for c in s:
# 将字符 c 的 Unicode 值转换为字符串并添加到列表 ls 中
ls.append(str(ord(c)))
# 使用逗号将列表 ls 中的所有字符串连接起来,并打印结果
print(','.join(ls))
3、中文字符替换
类型:Python 组合数据类型
获得用户输入的一个数字,替换其中 0~9 为中文字符“〇一二三四五六七八九”,输出替换后结果。请完善代码。
n = input("请输入一个数字:")
s = "〇一二三四五六七八九"
for c in "0123456789":
n = _____①_____
print(n)
**示例1:**
输入:"20468"
输出:"二〇四六八"
**示例2:**
输入:"13579"
输出:"一三五七九"
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 提示用户输入一个数字,并将输入的字符串赋值给变量 n
n = input("请输入一个数字:")
# 定义一个字符串,其中包含中文的数字字符
s = "〇一二三四五六七八九"
# 遍历字符串 "0123456789" 中的每个字符 c
for c in "0123456789":
# 使用 replace 方法将 n 中的每个字符 c 替换为 s 中对应的中文数字字符
# eval(c) 将字符 c 转换为对应的整数,作为 s 的索引
n = n.replace(c, s[eval(c)])
# 输出替换后的字符串 n
print(n)
4、综合实…模拟决赛现场最终成绩的计算过.
【功能要求】编写程序,模拟决赛现场最终成绩的计算过程。首先输入评委人数,要求判断评委不得少于5人;然后依次输入评委的成绩,成绩范围应在[0,100]。在所有评委的分数中,去掉一个最高分、去掉一个最低分,剩余成绩求算术平均分,作为选手的最终成绩。
【教学目标】
- 熟练运用选择、循环结构控制,熟悉通过异常处理约束用户输入的方法;
- 熟练使用列表的常用函数和方法;
- 输入数据类型的处理。
- 可扩展多位选手成绩的数据可视化
综合实例3:模拟决赛现场最终成绩的计算过程
【功能要求】编写程序,模拟决赛现场最终成绩的计算过程。首先输入评委人数,要求判断评委不得少于5人;然后依次输入评委的成绩,成绩范围应在[0,100]。在所有评委的分数中,去掉一个最高分、去掉一个最低分,剩余成绩求算数平均分,作为选手的最终成绩。
【教学目标】
(1)熟练运用选择、循环结构控制,熟悉通过异常处理约束用户输入的方法;
(2)熟练使用列表的常用函数和方法;
(3)输入数据类型的处理。
(4)可扩展多位选手成绩的数据可视化
【参考代码】
while True:
try:
n = int(input(''))
if n>=5:
break
else:
print('有效评委应至少5人!请确认后重新录入:')
except:
print('请重新录入有效数字:')
scores = []
#依次录入每位评委的成绩
for i in range(n):
while True:
try:
score = float(input('请输入第{}个评委的分数:'.format(i+1)))
if 1<=score<=100:
scores.append(score)
break
except:
print('分数未符合规范,请在1~100之间,确认后重新录入。')
#去掉最高分和最低分
highest = max(scores)
scores.remove(highest)
lowest = min(scores)
scores.remove(lowest)
#计算平均分,保留两个小数位
final_score = round(sum(scores)/len(scores),2)
print('去掉一个最高分{:.2f}分,去掉一个最低分{:.2f}分,选手最后得分是:{:.2f}分'.format(highest,lowest,final_score))
扩展:可以练习多位选手成绩柱状图排名。
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 循环获取有效的评委人数,至少为5人
while True:
try:
# 输入评委人数
n = int(input('请输入评委人数:'))
# 检查评委人数是否不少于5人
if n >= 5:
break # 如果符合条件,跳出循环
else:
print('有效评委应至少5人!请确认后重新录入:')
except ValueError:
# 捕捉输入非整数的情况
print('请重新录入有效数字:')
# 初始化存储评委分数的列表
scores = []
# 依次录入每位评委的成绩
for i in range(n):
while True:
try:
# 输入每位评委的分数
score = float(input('请输入第{}个评委的分数:'.format(i + 1)))
# 检查分数是否在有效范围内(1-100)
if 1 <= score <= 100:
scores.append(score) # 添加分数到列表中
break # 跳出当前循环
else:
print('分数未符合规范,请在1~100之间,确认后重新录入。')
except ValueError:
# 捕捉输入非数字的情况
print('分数未符合规范,请在1~100之间,确认后重新录入。')
# 去掉最高分和最低分
highest = max(scores) # 获取最高分
scores.remove(highest) # 移除最高分
lowest = min(scores) # 获取最低分
scores.remove(lowest) # 移除最低分
# 计算剩余分数的平均分,并保留两位小数
final_score = round(sum(scores) / len(scores), 2)
# 输出最终得分,包括去掉的最高分和最低分
print('去掉一个最高分{:.2f}分,去掉一个最低分{:.2f}分,选手最后得分是:{:.2f}分'.format(highest, lowest, final_score))
先赞后看,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我的坚持下去的动力。点赞后不要忘了关注我哦!