蓝桥杯python

蓝桥杯python 基础语法学习

题目链接
统计字符串出现单词最多的字母和次数

#主要注意 编码 ord 解码 chr 
#基础学习 if __name__ == 'main':
#以及 定长数组构建,内增写法,输出断尾等
#注意最大单词不唯一,蓝桥杯就爱搞些特判恶心人
import sys
import os

if __name__ == '__main__':
    test = [0]*26
    s = input()
    lenth = len(s)
    ans = []
    for i in s:
        t = ord(i)-ord('a')
        print(t)
        test[t]+=1
    cnt = max(test)
    for i in range(0,26):
        if test[i]==cnt:
            ans.append(chr(ord('a')+i))
    print(max(test))
    for i in ans:
        if i != ans[-1]:
            print(i,end=' ')
        else:
            print(i)
    
# 此题更可使用 list.count('')来计算字母出现次数

*统计成绩合格率优秀率

#主要考察输出的格式化
import sys
import os


if __name__ == '__main__':
    lenth = input()
    List = []
    a = 0
    b = 0
    for i in range(int(lenth)):
        tmp = input()
        if int(tmp)>=60:
            a+=1
        else if int(tmp)>=85:
            b+=1
    a = a*100/int(lenth)
    b = b*100/int(lenth)
    print('%.0f'%a+'%')
    print('%.0f'%b+'%')
    

**判断回文日期 ABCDDCBA ABABBABA **
代码写的过于丑陋

# 闰年的判断,字符串的截断,函数的声明
# 字符川的反转
import sys
import os

def judge(s,t):
    year = s[0:4]
    month = s[4:6]
    day = s[6:8]
    year1 = t[0:4]
    month1 = t[4:6]
    day1 = t[6:8]
    if int(year)<int(year1):
        return False
    elif int(year)==int(year1):
        if int(month)<int(month1):
            return False
        elif int(month)==int(month1):
            if int(day)<int(day1):
                return False
    t=0
    if ((int(year)%4==0)and(int(year)%100!=0))or(int(year)%400==0):
        t=1
    if int(month) in [1,3,5,7,8,10,12]:
        if int(day)<=31:
            return True
        else:
            return False
    elif int(month) in [4,6,9,11]:
        if int (day)<=30:
            return True
        else:
            return False
    elif int(month)==2:
        if t==1:
            if int(day)<=28:
                return True
            else:
                return False
        elif t==0:
            if int(day)<=29:
                return True
            else:
                return False
        

if __name__ == '__main__':
    test = input()
    abcd = test[0:4]
    ab = test[0:2]
    a = int(abcd)
    b = int(ab)
    res1 = ''
    res2 = ''
    while 1:
        tmp = abcd[::-1]
        res1 = abcd+tmp
        if judge(res1,test)==True:
            break
        a+=1
        abcd = str(a)
    while 1:
        cnt = ab+ab
        tmp = cnt[::-1]
        res2 = cnt+tmp
        if judge(res2,test)==True:
            break
        b+=1
        ab = str(b)
    print(res1)
    print(res2)
    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值