算法应用主题赛 · Python · 共 14 题(5单选+5多选+4编程)· 满分 100 分
instruments = 12
instruments += 4
print(instruments)crops = ["水稻", "玉米", "土豆", "茶叶"]
print("水稻" in crops)blessings = ["健康", "快乐", "幸福", "平安"]
for b in blessings:
if b == "幸福":
break
print(b)dance = ("摆手", "踢腿", "转身", "跳跃")
print(dance[1])
print(len(dance))ingredients = ["茶叶", "红糖", "花椒", "核桃", "乳扇"]
for item in ingredients:
print(item, end=" ")题目描述:
哈尼族的梯田是世界上最壮观的农业景观之一。"亩"是中国传统的土地面积单位。请编写程序,输入梯田的亩数,将其换算为平方米(1亩 ≈ 666.67平方米),并输出换算结果(保留2位小数)。
输入格式:
输入一个正数(可以是整数或小数),表示梯田的亩数。
输出格式:
输出换算后的平方米数,保留2位小数。格式为"X亩 = Y平方米"。
示例输入:
示例输出:
mu = float(input())
square_meters = mu * 666.67
print(f"{mu}亩 = {square_meters:.2f}平方米")
题目描述:
维吾尔族的"十二木卡姆"演奏中使用了多种传统乐器,如热瓦普、弹拨尔、都塔尔、萨塔尔、艾捷克、手鼓等。请编写程序,输入若干个乐器名称(每行一个,以"end"结束),筛选出名称为2个汉字的乐器,并将结果输出。
输入格式:
每行输入一个乐器名称(字符串),输入"end"时结束录入。乐器名称至少包含1个汉字。
输出格式:
第一行输出筛选出的2字乐器名称,用顿号(、)分隔。
第二行输出筛选出的乐器数量,格式为"共X件2字乐器"。
示例输入:
示例输出:
instruments = []
while True:
name = input()
if name == "end":
break
instruments.append(name)
# 筛选长度为2的乐器名称
result = []
for name in instruments:
if len(name) == 2:
result.append(name)
# 输出结果
if len(result) > 0:
print("、".join(result))
else:
print("")
print(f"共{len(result)}件2字乐器")
题目描述:
藏族手工艺品(如唐卡、藏毯、藏香、藏刀等)在爱心义卖活动中出售。请编写一个函数calculate_total(prices),该函数接收一个价格列表作为参数,返回总价。然后在主程序中:输入商品数量n和每种商品的价格,调用函数计算并输出总价和平均价格(保留2位小数)。
输入格式:
第一行输入一个整数n(1 ≤ n ≤ 100),表示手工艺品的数量。
接下来n行,每行输入一个正整数,表示每件手工艺品的价格(单位:元)。
输出格式:
第一行输出总价,格式为"总价:X元"。
第二行输出平均价格,保留2位小数,格式为"平均价格:X元"。
示例输入:
示例输出:
def calculate_total(prices):
total = 0
for p in prices:
total += p
return total
n = int(input())
prices = []
for i in range(n):
price = int(input())
prices.append(price)
total = calculate_total(prices)
avg = total / n
print(f"总价:{total}元")
print(f"平均价格:{avg:.2f}元")
题目描述:
白族的"三道茶"(苦茶、甜茶、回味茶)是待客的传统礼俗,寓意"一苦、二甜、三回味"。在一次品鉴活动中,n位评委对某道茶进行评分(0到100的整数)。请编写程序完成以下任务:
1. 输入评委人数n和每位评委的评分
2. 统计优秀(≥80分)、合格(60-79分)、不合格(<60分)三种等级的数量
3. 计算平均分(保留2位小数)
4. 根据平均分判定整体等级:≥80分为"优秀",60-79分为"合格",<60分为"不合格"
输入格式:
第一行输入一个整数n(1 ≤ n ≤ 100),表示评委人数。
接下来n行,每行输入一个0到100之间的整数,表示一位评委的评分。
输出格式:
第一行输出"优秀:X人"
第二行输出"合格:Y人"
第三行输出"不合格:Z人"
第四行输出"平均分:XX.XX"
第五行输出"整体等级:优秀/合格/不合格"
示例输入:
示例输出:
n = int(input())
scores = []
for i in range(n):
score = int(input())
scores.append(score)
# 统计各等级人数
excellent = 0
qualified = 0
unqualified = 0
total = 0
for s in scores:
total += s
if s >= 80:
excellent += 1
elif s >= 60:
qualified += 1
else:
unqualified += 1
avg = total / n
# 输出统计结果
print(f"优秀:{excellent}人")
print(f"合格:{qualified}人")
print(f"不合格:{unqualified}人")
print(f"平均分:{avg:.2f}")
# 判定整体等级
if avg >= 80:
print("整体等级:优秀")
elif avg >= 60:
print("整体等级:合格")
else:
print("整体等级:不合格")