python哼哈二将 2023年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

### Python信息素养大赛编程题目示例 #### 示例1:区间匹配问题 此题来源于2024全国青少信息素养大赛Python编程复赛集训第八天编程题分享。给定`n`个整数和`m`个区间,对于每一个区间,找到是否存在一个未被使用的整数位于该区间内并标记为已使用。 ```python n, m = map(int, input().split()) t = [] a = [] b = [] h = [] for i in range(1, n + 1): x = int(input()) t.append(x) h.append(0) for i in range(1, m + 1): x, y = map(int, input().split()) a.append(x) b.append(y) t.sort() # 对区间的起点进行排序,如果相同则按终点升序排列 for i in range(m - 1): for j in range(m): if ((a[i] > a[j]) or (a[i] == a[j] and b[i] > b[j])): a[i], a[j] = a[j], a[i] b[i], b[j] = b[j], b[i] ans = 0 for i in range(m): for j in range(n): if t[j] >= a[i] and t[j] <= b[i] and h[j] == 0: ans += 1 h[j] = 1 break if t[j] > b[i]: break print(ans)[^1] ``` #### 示例2:哼哈二将 这道题来自2023第9届Python编程挑战赛海南赛区(小学组复赛试题解析中的T2。根据输入的正整数`n`,输出相应次数的“哼哈”。 ```python n = int(input()) print('哼哈' * n)[^3] ``` #### 示例3:错排问题 此题摘自2023第9届Python编程挑战赛北京赛区(小学组复赛试题解析里的T6。计算所有礼物都装错盒子的不同情况数量。 ```python def derangement(n): if n == 0: return 1 elif n == 1: return 0 else: return (n - 2)) n = int(input()) answer = derangement(n) print(answer)[^4] ``` #### 示例4:统计考试成绩 这个问题出自全国青少信息素养大赛2023Python复赛真题第4题。读入学生的人数以及他们的分数列表,然后分别打印出高于或等于平均分的学生人数和低于平均分的学生人数。 ```python import math n = int(input()) scores = list(map(int, input().split())) average_score = sum(scores) / len(scores) above_average_count = sum(score >= average_score for score in scores) below_average_count = n - above_average_count print(math.floor(average_score), above_average_count, below_average_count) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小兔子编程

您的鼓励是我创作优质案例的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值