算法应用主题赛 · Python · 共 14 题(5单选+5多选+4编程)· 满分 100 分
time_str = "15"
time_min = int(time_str)
print(time_min + 5)int() 将字符串转为整数后进行算术运算month = int(input())
if 3 <= month <= 5:
print("春季")
_____:
print("非春季")if-else 双分支条件语句range() 生成数字1到10。以下哪个选项的写法是正确的?range(start, stop) 函数,stop 不包含在序列中puppets = ["孙悟空", "唐僧", "猪八戒", "沙和尚", "白骨精"]
print(______)len()、拼接 +、索引 [索引]、方法 upper()solar_terms 中添加元素 "清明"?(多选)solar_terms = ["立春", "雨水", "惊蛰"]
# 在此处添加代码append()(A对)、insert()(B对)、列表拼接(D对);列表没有 add() 方法(C错){} 创建空字典(D对)def)、参数(可无参数)、返回值(return 可选,无 return 时返回 None)、命名规则(与变量相同)题目描述:
二十四节气是中华民族悠久历史文化的重要组成部分,反映了季节的变化。某学校"非遗文化社团"需要一个小程序:用户输入一个节气名称,程序自动输出该节气属于哪个季节,并列出该季节包含的所有节气。
已知四季与节气的对应关系如下:
- 春季:立春、雨水、惊蛰、春分、清明、谷雨
- 夏季:立夏、小满、芒种、夏至、小暑、大暑
- 秋季:立秋、处暑、白露、秋分、寒露、霜降
- 冬季:立冬、小雪、大雪、冬至、小寒、大寒
输入格式:
输出格式:
- 第一行输出:{节气名}属于{季节}季
- 第二行输出:{季节}季的节气有:{节气列表,空格分隔}
示例输入:
示例输出:
# 定义四季与节气的字典
terms = {
"春": ["立春", "雨水", "惊蛰", "春分", "清明", "谷雨"],
"夏": ["立夏", "小满", "芒种", "夏至", "小暑", "大暑"],
"秋": ["立秋", "处暑", "白露", "秋分", "寒露", "霜降"],
"冬": ["立冬", "小雪", "大雪", "冬至", "小寒", "大寒"]
}
# 读取用户输入的节气名称
name = input().strip()
# 遍历字典,查找节气所属的季节
for season, term_list in terms.items():
if name in term_list:
print(f"{name}属于{season}季")
print(f"{season}季的节气有:{' '.join(term_list)}")
break
题目描述:
刺绣是中国传统手工艺,不同针法在绣品中交替使用。小明记录了一段刺绣过程中的针法顺序,用字母表示不同的针法(如A表示平针、B表示回针、C表示链针等)。请编写程序,输入一段针法字符串,统计每种针法出现的次数,并按字母顺序输出。
输入格式:
输出格式:
示例输入:
示例输出:
# 读取针法字符串
s = input().strip()
# 用字典统计每种针法的次数
count = {}
for ch in s:
if ch in count:
count[ch] += 1
else:
count[ch] = 1
# 按字母顺序输出
for key in sorted(count.keys()):
print(f"{key}:{count[key]}")
题目描述:
剪纸艺人在一次展览中展出了若干幅剪纸作品,每件作品都有一个名称和专家评分(1-10的整数)。请编写程序实现以下功能:
1. 输入作品数量n
2. 逐行输入每件作品的名称和评分(空格分隔)
3. 计算所有作品的平均评分,保留1位小数
4. 找出评分最高的作品(如果有多件并列最高,输出最先输入的那件)
5. 输出所有评分大于等于8分的"优秀作品"
输入格式:
- 第一行:一个整数n,表示作品数量
- 接下来n行:每行一个作品名称和一个整数评分,空格分隔
输出格式:
- 第一行:平均评分:{平均值,保留1位小数}
- 第二行:最高分作品:{作品名称} {评分}
- 第三行:优秀作品:
- 接下来若干行:评分>=8分的作品,每行格式为 {作品名称} {评分}
示例输入:
示例输出:
# 读取作品数量
n = int(input())
works = [] # 存储 (名称, 评分)
total = 0 # 评分总和
# 读取每件作品的信息
for i in range(n):
line = input().split()
name = line[0]
score = int(line[1])
works.append((name, score))
total += score
# 计算并输出平均评分
avg = total / n
print(f"平均评分:{avg:.1f}")
# 找出评分最高的作品
max_work = works[0]
for w in works:
if w[1] > max_work[1]:
max_work = w
print(f"最高分作品:{max_work[0]} {max_work[1]}")
# 输出优秀作品(评分 >= 8)
print("优秀作品:")
for name, score in works:
if score >= 8:
print(f"{name} {score}")
题目描述:
陶瓷烧制是重要的非物质文化遗产,烧制过程中需要严格控制窑温。某陶艺工坊记录了连续k小时的窑温数据(整数,单位:摄氏度)。请编写程序完成以下分析:
1. 找出记录期间的最高温度和最低温度
2. 统计温度在正常范围[800, 1200](包含边界)内的小时数
3. 找出连续超过1200度(高温异常)的最长持续小时数
输入格式:
- 第一行:一个整数k,表示记录的小时数
- 第二行:k个整数,表示每小时的温度,空格分隔
输出格式:
- 第一行:最高温度:{值}
- 第二行:最低温度:{值}
- 第三行:正常范围时数:{值}
- 第四行:最长连续高温持续:{值}
示例输入:
示例输出:
# 读取数据
k = int(input())
temps = list(map(int, input().split()))
# 找出最高和最低温度
max_t = max(temps)
min_t = min(temps)
# 统计正常范围内的时数
normal_count = 0
for t in temps:
if 800 <= t <= 1200:
normal_count += 1
# 找出最长连续高温异常的持续小时数
max_abnormal = 0
current_abnormal = 0
for t in temps:
if t > 1200:
current_abnormal += 1
if current_abnormal > max_abnormal:
max_abnormal = current_abnormal
else:
current_abnormal = 0
# 输出结果
print(f"最高温度:{max_t}")
print(f"最低温度:{min_t}")
print(f"正常范围时数:{normal_count}")
print(f"最长连续高温持续:{max_abnormal}")