蓝桥杯集锦04(python3)

试题 历届试题 单词分析

问题描述
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。

现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。

输入格式
输入一行包含一个单词,单词只由小写英文字母组成。

输出格式
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。

第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

样例输入
lanqiao
Data
样例输出
a
2
Data
样例输入
longlonglongistoolong
Data
样例输出
o
6

str1 = input()
dics = {
    
    }
for i in range(len(str1)):
    if str1[i] in dics:
        dics[str1[i]] = dics[str1[i]] + 1
    else:
        dics[str1[i]] = 1
max_num = max(dics.values())

vlaue = list(dics.keys())[list(dics.values()).index(max_num)]
print(vlaue)
print(max_num)

试题 历届试题 成绩分析

问题描述
小蓝给学生们组织了一场考试,卷面总分为 分,每个学生的得分都是一个 到 的整数。

请计算这次考试的最高分、最低分和平均分。

输入格式
输入的第一行包含一个整数 ,表示考试人数。

接下来 行,每行包含一个 至 的整数,表示一个学生的得分。

输出格式
输出三行。

第一行包含一个整数,表示最高分。

第二行包含一个整数,表示最低分。

第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

样例输入
7
80
92
56
74
88
99
10
Data
样例输出
99
10
71.29

count = int(input())

lst = []
for i in range(count):
    lst.append(int(input()))
lst.sort()
ad = sum(lst)/count
print(lst[count-1])
print(lst[0])
print('%.2f'%ad)

试题 历届试题 成绩统计

问题描述
小蓝给学生们组织了一场考试,卷面总分为 分,每个学生的得分都是一个 到 的整数。

如果得分至少是 分,则称为及格。如果得分至少为 分,则称为优秀。

请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。

输入格式
输入的第一行包含一个整数 ,表示考试人数。

接下来 行,每行包含一个 至 的整数,表示一个学生的得分。

输出格式
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。

样例输入
7
80
92
56
74
88
100
0
Data
样例输出
71%
43%

count = int(input())
lst = []
jige = 0
youxiu = 0
for i in range(count):
    lst.append(int(input()))
for i in range(count):
    if lst[i] >= 60:
        jige += 1
        if lst[i] >= 85:
            youxiu += 1
jige = int(round(jige/count,2)*100)
youxiu = int(round(youxiu/count,2)*100)
print('{0}%'.format(jige))
print('{0}%'.format(youxiu))

试题 历届试题 错误票据

问题描述
某涉密单位下发了某种票据,并要在年终全部收回。

每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。

因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。

你的任务是通过编程,找出断号的ID和重号的ID。

假设断号不可能发生在最大和最小号。

输入格式
要求程序首先输入一个整数N(N<100)表示后面数据行数。

接着读入N行数据。

每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000),请注意行内和行末可能有多余的空格,你的程序需要能处理这些空格。

每个整数代表一个ID号。

输出格式
要求程序输出1行,含两个整数m n,用空格分隔。

其中,m表示断号ID,n表示重号ID

样例输入1
2
5 6 8 11 9
10 12 9
样例输出1
7 9
样例输入2
6
164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196
172 189 127 107 112 192 103 131 133 169 158
128 102 110 148 139 157 140 195 197
185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190
149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188
113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119
样例输出2
105 120

line = int(input())
lst = []

for i in range(line):
    lst.extend(list(map(int,input().split())))
rev = lst[::-1]
max_num = max(lst)
min_num = min(lst)

for i in range(min_num,max_num+1):
    if i in lst:
        if lst.index(i) != len(lst) - 1 - rev.index(i):
            n2 = i
    else:
        n1 = i

print(n1,n2)

另一种方法:

line = int(input())
lst = []

for i in range(line):
    lst.extend(list(map(int,input().split())))
lst.sort()


for i in range(len(lst)-1):
    if lst[i] == lst[i+1] :
        n2 = lst[i]
    elif lst[i+1] - lst[i] == 2:
        n1 = lst[i]+1

print(n1,n2)

试题 算法训练 寻找数组中最大值(水题)

问题描述
  对于给定整数数组a[],寻找其中最大值,并返回下标。
输入格式
  整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。
输出格式
  输出最大值,及其下标
样例输入
3
3 2 1

样例输出

3 0

count = input()
lst = list(map(int,input().split()))

max_num = max(lst)
max_index = lst.index(max_num)
print(max_num,' ',max_index)

猜你喜欢

转载自blog.csdn.net/qq_43710889/article/details/115300981