蓝桥杯省赛题目2

编程第一题
【编程实现】
输入一个字符串,如果该字符串以er,ly,ing 后缀结尾的,
则删除该字符串后缀的宇符串,否则将原字符串输出。 

# 编程第一题
# 【编程实现】
#输入一个字符串,如果该字符串以er,ly,ing 后缀结尾的,
#则删除该字符串后缀的宇符串,否则将原字符串输出。
s = input()
#字符串可以理解为字符型数组
if s[-2:] == 'er' or s[-2:] == 'ly':
    print(s[:-2])
elif s[-3:] == 'ing':
     print(s[:-3])
else:
    print(s)

  编程第二题
 有这样一种加密的策略:第一次加密策略是将明文中宇母a加密为01,b加密为02,c 加密为 03,
以此类推,x加密为24,y加密为25,z加密为26,空格不加密;
然后在第一次加密的基础上进行二次加密,
第二次加密策略是将数字0加密为 27,数字1加密为28,
以此类推,数字8加密为35,数字9加密为36,空格则加密为00.
 编程实现:请输入一段明文,按照上述加密策略,输出对应密文。
 输入描述:输入一段明文(只包含小写字母和空格)
 输出描述:校照上述加密策咯,输出对应密文。
 样例输人:ab c
 样例输出:27282729002730

# 编程第二题
# 有这样一种加密的策略:第一次加密策略是将明文中宇母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(96+i)] = '0' + str(i)
    else:
        d[chr(96+i)] = str(i)
s = input()
s1 = ''#第一次加密后的字符
for i in s:
    if i == ' ':
        s1 += i
    else:
        s1 += d[i]
print(s1)
#第二次加密
s2 = ''#第二次加密后的字符
for i in s1:
    if i == ' ':
        s2 += '00'
    else:
        s2 += str(int(i) + 27)
print(s2)     

 编程第三题
【编程实现】
试编写一个程序,输入一个带有小数的数字,输出它的各个数位之和。

# 编程第三题
# 【编程实现】
# 试编写一个程序,输入一个带有小数的数字,输出它的各个数位之和。
c = 0
d = 0
a = input(':')
b = a.split(".")
for i in b[0]:
    c += int(i) 
for j in b[1]:
    d += int(j)
e = c + d
print(e)  

  编程第四题
 小蓝要为1-2020住户制作门牌号,
 例如制作1107号门牌,需要制作2块'1'字符,一块'0'字符,一块'7'字符,
求制作1-2020需要多少块'2'

# 编程第四题
# 小蓝要为1-2020住户制作门牌号,
# 例如制作1107号门牌,需要制作2块'1'字符,一块'0'字符,一块'7'字符,
#求制作1-2020需要多少块'2'
count = 0
for i in range(1,30):
    for j in range(1,30):
        if j == '2':
            count += 1
print(count)

  编程第五题
 编程实现:
 让用户在一次输入时输入 N 个数字(2<=N<=15,即每次输入的数字数量不同),
数字之间以','作为分隔。
 然后组合显示:
 (1)用户输入的数字个数;
 (2)用户输入的最小的数字;
 (3)将用户输入的数字按从大到小进行排列输出,数字之间以','作为分隔;
 (4)如果用户输入的数字小于等于 26,则找到相对应的 26 个大写英文字母
(1 对应'A',26 对应'Z'),
 并拼接在一起打印显示,如果输入的数字在 1~26 之外则不显示相应字母。
(例:程序输入 214,则显示输出'[bad]')。
 输入:
 N 个数字,2<=N<=15
 输出:
 输入的数字个数
 输入的最小数字
 输入的数字从大到小排列
 输入的数字所对应的字母
 样例输入:
 9,12,15,22,5,21,214
 样例输出:
 7
 5
 214,22,21,15,12,9,5
 ILOVEU[bad]
 评判标准:
 10 分:正确输出用户输入的数字个数
 20 分:在 10 分标准的基础上,正确输出用户输入的最小数字
 40 分:在 20 分标准的基础上,正确地将用户输入的数字按从大到小进行排序输出
 50 分:完全符合题意,即在 40 分标准的基础上,正确完成显示数字对应字母的环节

#  编程第五题
#  编程实现:
#  让用户在一次输入时输入 N 个数字(2<=N<=15,即每次输入的数字数量不同),
# 数字之间以','作为分隔。
#  然后组合显示:
#  (1)用户输入的数字个数;
#  (2)用户输入的最小的数字;
#  (3)将用户输入的数字按从大到小进行排列输出,数字之间以','作为分隔;
#  (4)如果用户输入的数字小于等于 26,则找到相对应的 26 个大写英文字母
# (1 对应'A',26 对应'Z'),
#  并拼接在一起打印显示,如果输入的数字在 1~26 之外则不显示相应字母。
# (例:程序输入 214,则显示输出'[bad]')。
#  输入:
#  N 个数字,2<=N<=15
#  输出:
#  输入的数字个数
#  输入的最小数字
#  输入的数字从大到小排列
#  输入的数字所对应的字母
#  样例输入:
#  9,12,15,22,5,21,214
#  样例输出:
#  7
#  5
#  214,22,21,15,12,9,5
#  ILOVEU[bad]
#  评判标准:
#  10 分:正确输出用户输入的数字个数
#  20 分:在 10 分标准的基础上,正确输出用户输入的最小数字
#  40 分:在 20 分标准的基础上,正确地将用户输入的数字按从大到小进行排序输出
#  50 分:完全符合题意,即在 40 分标准的基础上,正确完成显示数字对应字母的环节
t = eval(input())
print(len(t))#长度
print(min(t))#最小值
#sort排序
l = sorted(t,reverse = True)
#默认是升序
#输出不带,strip方法(删除字符串首尾的指定字符)
sl = ''
for i in l:
    sl += str(i) + ','
sl = sl.strip(',')
print(sl)
for i in t:
    if 1 <= i <= 26:#A-Z 1-26字典
        #A - 65
        print(chr(ord('A')+(i - 1)),end = '')
        #ord将字符转化成10进制数
    else:
        print("[bad]")

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值