蓝桥杯刷题 Day1

1.2020省赛 单词分析 暴力

输入描述

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

对于所有的评测用例,输入的单词长度不超过 1000。

输出描述

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

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

 

 

输出

a
2
import os
import sys
x=input().lower()
z=[]#将x中的所有元素的累加值当作列表中值
c=''#作为空字符 等会输出
for i in x:
  a=x.count(i)#计算每一个字符,所有的大小
  z.append(a)
for y in x:
  if x.count(y)==max(z):
    c=y
print(c)
print(max(z))

卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

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

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

输入描述

输入的第一行包含一个整数 n\ (1 \leq n \leq 10^4)n (1n104),表示考试人数。

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

输出描述

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

输入输出样例

示例

输入

7
80
92
56
74
88
100

输出
71%
43%
import os
import sys
n=int(input())
well=0
ok=0
for i in range(n):
    a=int(input())
    if a>=85:
        well+=1
        ok+=1
    elif a>=60:
        ok+=1
print("{:.0f}%".format(100*ok/n))
print("{:.0f}%".format(100*well/n))
这一题 主要是需要输入多行数据 用列表保存 for循环一下,然后for循环时,如果一个数被一个条件所用,就不会进行elif判断,直接加上,format{}里面浮点数:.0f代表小数点后为0,他会自动上位

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

如下图所示,GG 是一个无向图,其中蓝色边的长度是 11、橘色边的长度是 22、绿色边的长度是 33。图片描述

则从 AA 到 SS 的最短距离是多少?

 

 抄一位大佬的做法:

import os
import sys

# 请在此输入您的代码

# 录入路线图
r_list = [
    ["A", "E", 1],
    ["A", "B", 2],
    ["A", "C", 1],
    ["A", "D", 1],
    ["A", "E", 1],
    ["B", "G", 1],
    ["B", "J", 2],
    ["C", "D", 3],
    ["C", "G", 3],
    ["C", "F", 3],
    ["D", "G", 2],
    ["D", "H", 1],
    ["D", "I", 2],
    ["E", "H", 1],
    ["E", "I", 3],
    ["F", "J", 1],
    ["F", "G", 1],
    ["G", "K", 2],
    ["G", "I", 3],
    ["H", "L", 2],
    ["H", "I", 1],
    ["I", "M", 3],
    ["J", "S", 2],
    ["K", "N", 1],
    ["K", "L", 3],
    ["L", "R", 1],
    ["L", "M", 1],
    ["M", "N", 2],
    ["M", "Q", 1],
    ["M", "S", 1],
    ["N", "P", 1],
    ["Q", "O", 1],
    ["O", "R", 3],
    ["P", "O", 1],
    ["R", "S", 1],
]

# 所有路线
nums = []

# 递归
def get(num, r):
    for x, y in enumerate(r_list):#enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中

        # 上一个点与当前点一致
        if y[0] == r[1]:

            # 累计长度
            num += y[2]

            # 直到S才结束
            if y[1] == "S":
                nums.append(num)
            # 否则继续
            else:
                get(num=num, r=y)

for q, w in enumerate(r_list):
    n = 0
    # 从A开始
    if w[0] == "A":
        get(num=w[2], r=w)

# 取最小值
print(min(nums))
 
posted @ 2022-01-13 12:20  武阳  阅读(309)  评论(0)    收藏  举报