蓝桥杯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)