python蓝桥杯刷题6——删除字符、回文日期、单词分析

删除字符

题目描述

给定一个单词,请问在单词中删除 tt 个字母后,能得到的字典序最小的单词是什么?

输入描述

输入的第一行包含一个单词,由大写英文字母组成。

第二行包含一个正整数 t t t

其中,单词长度不超过 100, t t t 小于单词长度。

输出描述

输出一个单词,表示答案。

输入输出样例

示例1

输入

LANQIAO
3

输出

AIAO

代码演示

s = list(input())
t = int(input())
cnt = 0
while cnt < t:
    if s[1] < s[0]:
        del s[0]
    else:
        del s[1]
    cnt += 1

print("".join(s))

回文日期

题目描述

2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。

有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。

也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日。算不上 “千年一遇”,顶多算 “千年两遇”。

给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。

输入描述

输入包含一个八位整数 N N N,表示日期。

对于所有评测用例, 10000101 ≤ N ≤ 89991231 10000101 \leq N \leq 89991231 10000101N89991231,保证 N N N 是一个合法日期的 8 位数表示。

输出描述

输出两行,每行 1 个八位数。第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。

输入输出样例

示例

输入

20200202

输出

20211202
21211212

代码演示

import os
import sys

# 请在此输入您的代码
num = int(input())
for i in range(num+1,num+9999999):
    if str(i) == str(i)[::-1]:
        print(i)
        break
for i in range(num+1,num+9999999):
    i = str(i)
    # 21211212 
    if i[0] == i[2] == i[5] == i[7] and i[1] == i[3] == i[4] == i[6]:
        print(i)
        break

单词分析

题目描述

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

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

输入描述

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

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

输出描述

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

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

输入输出样例

示例1

输入

lanqiao

输出

a
2

示例2

输入

longlonglongistoolong

输出

o
6

代码演示

from collections import Counter
a = list(input())
collection_words = Counter(a)
most_counterNum = collection_words.most_common()
max_count = most_counterNum[0][1]

i = 0
while True:
    if i == len(most_counterNum):
        break
    # print('i={}'.format(i))
    if max_count != most_counterNum[i][1]:
    # most_counterNum = most_counterNum[:i]
        break

    i+=1

b = most_counterNum[:i]
b.sort(key=lambda x: x[0])
print(b[0][0])
print(b[0][1])

你可能感兴趣的:(蓝桥杯,蓝桥杯)