IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 第十一届蓝桥杯省赛Python中/高级组试题 -> 正文阅读

[Python知识库]第十一届蓝桥杯省赛Python中/高级组试题

第一题
编程实现
输入一个字符串,如果该字符串以er、ly或者ing后缀结尾的,则删除该字符串后缀,并输出删除后的字符串,否者将原字符串输出。
输入描述
输入一个字符串
输出描述
输出删除后的字符串或原字符串
样例输入:
driver
样例输出:
driv

n = input()
if n[-2:] == 'er' or n[-2:] == 'ly':
    print(n[:-2])
elif n[-3:] == 'ing':
    print(n[:-3])
else:
    print(n)

第二题
编程实现
用户输入一个正整致a作为如图半圆的直径,同时作为如圈等腰直角三角形的直角边长度,求下图的阴影部分面积,如图所示:
提示信息
三角形面积公式:S=(ah)/2(公式中a为三角形的底边,h为底边所对应的高)
圆形面积公式:S=лr^2(公式中r为园的半径,л=3.14)
已知条件:
1)半圆的直径和等腰直角三角形直角边长度相同;
2)三角形与半圆部分重叠;
3)三角形ABC为等腰直角三角形;
输入描述
一个正整数(作为半圆的直径)
输出描述
图形阴影面积(保留2位小数)
样例输入:
18
样例输出:
25.00

a = int(input())
s = a ** 2 / 4
print('%.2f' % s)

第三题
背景信息
因子:因子也叫因数,例如3*5=15,那么3和5是15的因子。同时15*1=15,那么1和15也是15的因子。
1,3,5,15这四个因子是15的所有因子。
完数:如果一个数等于不含它本身的其他因子之和,则称该数为“完数”。如6的因子有1,2,3,6,且1+2+3=6,因此6是完数。
编程实现
输入一个正整数N,输出小于N的所有完数及个数(个数前加“*”,例如:*2)。
输入描述
输入一个正整数N
输出描述
输出小于N的所有完数及个数
样例输入:
100
样例输出:
6
28
*2

n = int(input())
index = 0
for i in range(2, n):
    sum1 = 0
    for j in range(1, i // 2 + 1):
        if i % j == 0:
            sum1 += j
    if sum1 == i:
        print(i)
        index += 1
print('*' + str(index))
def perfect(n):
    list1 = [i for i in range(1, n // 2 + 1) if n % i == 0]
    return sum(list1) == n

n = int(input())
re = [i for i in range(2, n) if perfect(i)]
print(*re, sep='\n')
print(f'*{len(re)}')

第四题
背景信息
在生活中,为保证信息安全,我们会把重要的信息进行加密后再发送给对方,对方需要通过相同的策略对信息进行解密,才能了解到传递的信息,我们一般把加密前的信息称为原文,将加密后的信息称为密文。
有这样一种加密的策略:第一次加密策略是将明文中字母a加密为01,b加密为02,c加密为03,以此类推,x加密为24,y加密为25,z加密为26,空格不加密;然后在第一次加密的基础上进行二次加密,第二次加密策略是将数字0加密为27,数字1加密为28,以此类推,数字8加密为35,数字9加密为36,空格则加密为00。
编程实现
请输入一段明文,按照上述加密策略,输出对应密文。
输入描述
输入一段明文(只包含小写字母和空格)
输出描述
按照上述加密策略,输出对应密文
样例输入:
ab c
样例输出:
27282729002730

d = {}
for i in range(1, 27):
    if i < 10:
        d[chr(i + 96)] = '0' + str(i)
    else:
        d[chr(i + 96)] = str(i)
print(d)
t = input()
s1 = ''
for i in t:
    if i == ' ':
        s1 += ' '
    else:
        s1 += d[i]
s2 = ''
for i in s1:
    if i == ' ':
        s2 += '00'
    else:
        s2 += str(int(i) + 27)
print(s2)
from re import sub
t=input()
t=sub('[a-z]',lambda i: str(ord(i.group(0))-96).zfill(2),t)
t=sub('[0-9]',lambda i: str(int(i.group(0))+27),t).replace(' ','00')
print(t)

?第五题
下图给出了公历2020年1月25日~2021年1月20日之间,二十四个节气的名称,公历具体日期及汉语拼音的缩写。
输入描述
输入一个日期,介于公历2020年1月25日~2021年1月20日之间。例如:2020年5月2日写为“2020*05*02”。
输出描述
如果当天恰好是一个节气,输出这个节气的汉语拼音缩写,如当天不是节气则输出下一个节气的汉语拼音缩写。
样例输入1:
2020*06*21
样例输出1:
XZ
样例输出1说明:6月21日是夏至,汉语拼音缩写是"XZ"
样例输入2:
2020*07*04
样例输出2:
XS
样例输出2说明:7月4日之后的节气是小暑,汉语拼音缩写是"XS"

names=['XH','DH','LC','YS','JZ','CF','QM','GY','LX','XM','MZ','XZ','XS','DS','LQ','CS','BL','QF','HL','SJ','LD','XX','DX','DZ']
dates=[105,120,204,219,305,320,404,419,505,520,605,621,706,722,807,822,907,922,1008,1023,1107,1122,1207,1221]
day=int(input().replace('*','')[-4:])
dates_=[i for i in dates if i<day]
if len(dates_)==24:
    print('XH')
else :
    print(names[len(dates_)])

第六题
编程实现
现有一个容器,其容量为v(0<v<1001,正整数),同时有n个物品(0<n<=30),每个物品体积大小不同(正整数)。
在n个物品中,任取若干个装入容器内,使容器的剩余空间为最小。
输入描述
输入容器大小V(0<V<1001,正整数)输入物品数量n(0<n<=30)输入n个物品的不同大小(正整数)
输出描述
剩余最小空间值
样例输入:
100
4
50
20
45
19
说明:“100”输入的是容器大小V;“4”输入的是物品数量n;“50"“20"“45,“19”输入的是4个物品体积。
样例输出:
5
说明:“5”是容器大小减掉4个物体不同组合后与容器大小最为接近的一组值。(物品组合个数不限制,只找最接近容器大小的值)

# 递归法
def fill(lst,room):
    if not lst: #物品取完
        return room
    if not room: #没有空间
        return 0
    result = fill(lst[1:],room)  #空间不够放
    if room>=lst[0]: #空间够放
        take=fill(lst[1:],room-lst[0]) 
        result=min(take,result)   
    return result

v=int(input())
n=int(input())
lst=[]
for i in range(n):
    lst.append(int(input()))
    
print(fill(lst,v))
# 暴力破解
from itertools import combinations
v=int(input())
n=int(input())
lst=[]
for i in range(n):
    lst.append(int(input()))
lstt=[]
for i in range(1,n+1):
    lstt.extend(list(combinations(lst,i)))
lsttt=[v-sum(i) for i in lstt if v-sum(i)>=0]
print(min(lsttt))
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 15:42:14  更:2022-05-01 15:43:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:58:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码