2021年十二届蓝桥杯Python组一月测评

编程题

第一题(难度系数2)

编程实现:

输入一个字符串,输出这个字符串的最后一个字符

输入描述:输入一个字符串

输出描述:输出这个字符串的最后一个字符

样例输入:abc

样例输出:c

a = input()
print(a[-1])

第二题(难度系数3)

编程实现:

输入一个字符串和一个字符,判断字符串中是否包含这个字符

输入描述:第一行输入一个字符串

第二行输入一个字符

输出描述:如果字符串中包含这个字符则输出大写字母“Y”,否者输出大写字

母“N

样例输入: abcdefg

c

样例输出:Y

a = input()
b = input()
if b in a:
    print('Y')
else:
    print('N')

第三题(难度系数3)

提示信息:

有一堆砖,需要按照一定规律进行堆放,具体堆放规律如下:

顶层放1块砖,

第二层放3块砖,

第三层放6块砖,

第四层放10块砖,

......

依此类推,每一层砖块的数量为上一层砖块数量加上本层的层数。例如第五

层为10+5=15。

输入砖块堆放的总层数,按照以上规律,求出砖块的总数。

编程实现:

输入砖块堆放的总层数,按照以上堆放规律,求出砖块的总数。

例如:输入为3,总层数为3的砖块堆放一共有1+3+6=10快砖,则输出10.

输入描述:输入一个正整数N(2<N<1000)作为砖块堆放的总层数

输出描述:输出砖块的总数

样例输入:3

样例输出:10

解析:首先找到规律,然后写一个求n层砖块数;再从刚才的代码上进行改进。
def f(n):
    if n == 1:
        return 1
    return f(n - 1) + n
​
​
n = int(input())
sum = 0
for i in range(1, n + 1):
    sum = sum + f(i)
​
print(sum)

第四题(难度系数4)

编程实现:

输入一个正整数n,如果n为偶数,则计算1/2+1/4+1/6...+1/n的结果,如果n

为奇数时,则计算1/1+1/3+1/5...+1/n的结果。输出最后计算的结果。

例如:输入为4,则计算1/2+1/4的结果,输出为0.75

输入为5,则计算1/1+1/3+1/5的结果输出为1.53

输入描述:输入一个正整数n

输出描述:输出最后计算的结果(最后结果保留两位小数,不要在每次除法时保

留小数)

样例输入:7

样例输出:1.68

解析:首先要分出用户输入的数是奇数还是偶数,因为奇偶不同,计算方式不同。
然后下来就是进行计算。
n = int(input())
sum = 0
if n % 2 == 0:
    for i in range(2, n + 1, 2):
        sum = sum + 1 / i
else:
    for i in range(1, n + 1, 2):
        sum = sum + 1 / i
​
print(round(sum, 2))

第五题(难度系数5)

提示信息: 平均数:是指在一组数据中所有数据之和再除以这组数据的个数

如:“1,2,3,4,5” 这组数的平均数为3.00。(1+2+3+4+5)/ 5 = 3.00

中位数:将一组数据从大到小排序后,位置在最中间的数值。

分两种情况:当数据个数为奇数时,中位数为中间的那个数的值;

当数据个数为偶数时,中位数为中间的两个数的平均值。

如:“1,3,5,7,9”这组数据有5个数字,中位数为5;

”1,3,5,7”这组数据有4个数字,中位数为4

众数:是一组数据中出现次数最多的那个数值

如:“1,3,5,7,9,9”这组数据9出现的次数最多,故众数为9。

编程实现:

给定一组正整数,然后分行输出这组正整数的平均数,中位数,众数。

输入描述:输入一组正整数并以一个英文逗号隔开

输出描述:第一行输出平均数(保留两位小数)

第二行输出中位数(保留两位小数)

第三行输出众数(如果有多个数值出现的次数相同,则取数值最大的作为众数)

样例输入:1,3,5,7,9,9

样例输出:5.67

6.00

9

# 输入:
ls = list(map(int, input().split(',')))
# print(ls)
# ls = [1, 3, 5, 7, 9, 9]
​
# 平均数:
avg = sum(ls) / len(ls)
print('%.2f' % avg)
​
# ls = sorted(ls, reverse=True)
# print(ls)
​
# 中位数:
if len(ls) % 2 == 1:
    print('%.2f' % (ls[len(ls) // 2]))
elif len(ls) % 2 == 0:
    print('%.2f' % ((ls[len(ls) // 2] + ls[len(ls) // 2 - 1]) / 2))
​
# 众数:
ls2 = []
for i in ls:
    ls2.append(ls.count(i))
​
max_num = ls[ls2.index(max(ls2))]
print(max_num)
​
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值