算法应用主题赛 · Python · 共 14 题(5单选+5多选+4编程)· 满分 100 分
print() 函数输出一段红色标语"不忘初心,牢记使命",以下代码正确的是?age 的数据类型是什么?born = 1929
died = 1948
age = died - bornspirit = "井冈山精神永放光芒"
print(spirit[0:4])[0:4] 取索引0到3的字符(前4个字符)age = 16,以下代码执行后输出什么?age = 16
if age >= 18 and age <= 45:
print("符合参军条件")
else:
print("不符合参军条件")acres = [3, 5, 4, 6, 5]
total = 0
for i in range(len(acres)):
total = total + acres[i]
print(total)heroes = ["雷锋", "董存瑞", "黄继光", "邱少云"],以下操作哪些是正确的?while 循环和 break 的说法,哪些是正确的?题目描述:
红军长征途中,某部队连续记录了7天的行军里程(单位:里)。请你编写程序,输入7天的行军里程,计算并输出总里程与平均每天里程(保留1位小数)。
输入格式:
一行,7个整数,用空格分隔,表示每天的行军里程。
输出格式:
第一行输出"总里程:X里",其中X为整数。
第二行输出"平均每天:Y里",其中Y保留1位小数。
示例输入:
示例输出:
# 输入7天的行军里程
data = input().split()
total = 0
for d in data:
total = total + int(d)
avg = total / 7
print("总里程:" + str(total) + "里")
print("平均每天:" + str(round(avg, 1)) + "里")
题目描述:
在革命时期,红军用简单的字母偏移方式来加密传递标语。加密规则是:将字符串中每个英文字母替换为字母表中后移3位的字母(a→d, b→e, ..., x→a, y→b, z→c),大写字母同理,非字母字符不变。请你编写程序,输入一句英文标语,输出加密后的结果。
提示:使用 ord() 获取字符ASCII码,chr() 将ASCII码转为字符。
输入格式:
一行字符串,包含英文字母和空格。
输出格式:
一行,加密后的字符串。
示例输入:
示例输出:
s = input()
result = ""
for ch in s:
if 'a' <= ch <= 'z':
# 小写字母偏移
new_code = (ord(ch) - ord('a') + 3) % 26 + ord('a')
result += chr(new_code)
elif 'A' <= ch <= 'Z':
# 大写字母偏移
new_code = (ord(ch) - ord('A') + 3) % 26 + ord('A')
result += chr(new_code)
else:
result += ch
print(result)
题目描述:
学校组织学习英雄事迹活动,老师让每位同学说出自己最崇拜的英雄名字,并记录下来。请你编写程序完成以下统计任务:
1. 输入一个正整数 n,表示有 n 位同学参与
2. 接下来输入 n 行,每行是一个英雄名字(如"雷锋"、"董存瑞"、"黄继光"等)
3. 统计每个英雄被提到的次数
4. 输出被提到次数最多的英雄名字及其次数(保证唯一)
输入格式:
第一行一个正整数 n(1 ≤ n ≤ 100)。
接下来 n 行,每行一个字符串,表示英雄名字。
输出格式:
一行,格式为"英雄名:X次"。
示例输入:
示例输出:
n = int(input())
heroes = []
for i in range(n):
name = input()
heroes.append(name)
# 统计每个英雄的次数
count_dict = {}
for name in heroes:
if name in count_dict:
count_dict[name] += 1
else:
count_dict[name] = 1
# 找出次数最多的英雄
max_name = ""
max_count = 0
for name in count_dict:
if count_dict[name] > max_count:
max_count = count_dict[name]
max_name = name
print(max_name + ":" + str(max_count) + "次")
题目描述:
红军根据战士的立功积分评定军衔等级,规则如下:
- 积分 ≥ 100:特级战斗英雄
- 80 ≤ 积分 < 100:一级战斗英雄
- 60 ≤ 积分 < 80:二级战斗英雄
- 40 ≤ 积分 < 60:三级战斗英雄
- 积分 < 40:优秀战士
请你编写程序,输入 n 位战士的姓名和积分,依次输出每位战士的军衔等级。
输入格式:
第一行一个正整数 n(1 ≤ n ≤ 50)。
接下来 n 行,每行一个战士姓名和一个整数积分,用空格分隔。
输出格式:
n 行,每行格式为"姓名:等级"。
示例输入:
示例输出:
n = int(input())
for i in range(n):
line = input().split()
name = line[0]
score = int(line[1])
if score >= 100:
level = "特级战斗英雄"
elif score >= 80:
level = "一级战斗英雄"
elif score >= 60:
level = "二级战斗英雄"
elif score >= 40:
level = "三级战斗英雄"
else:
level = "优秀战士"
print(name + ":" + level)