日志1月7日

今天做了蓝桥杯省赛比较难的题目:

def count(s):
	s1=0
for i in range(3,len(s)):# 0,1,2,3->1,2,3,4一个个的排查
	if s[i-3:i+1]==2020:s1+=1# 字符串切片s[0:4]就是0,1,2,3
return s1

with open(2020.txt”,‘r’)as f:
	a=f.readlines()# 横着的数列
	n=len(a)# n行
for i in range(n):# 因为他最后是带一个\n符的,我把它消掉。
	a[i]=a[i][:-1]
	m=len(a[0])# m列
	b=[’’ for i in range(m)]# b来竖着存这些数,所以有列条字符串
for i in range(m):
	for j in range(n):
		b[i]+=a[j][i] # b[0]+=a[0][0]、a[1][0]、a[2][0]、…
		c=[]# 斜着的最麻烦了。。我的办法是以对角线为分界,写两个循环。
		for i in range(n-1,-1,-1):# 打算先从左下角找到左上角
			s=’’
		for j in range(n-i):# 每次只添加n-i个,即从1个到n个长度递增(因为长宽相等)
			s+=a[i+j][j]# 也就是第一次(n-1,0),第二次(n-2,0和n-1,1)
			c.append(s)
		for j in range(1,n):# 换j从0到n遍历了,i初始不变
			s=’’
		for i in range(n-j):
			s+=a[i][i+j]# (0,1)(1,2),…,(n-2,n-1),(0,2)(1,3),…,(0,n-1)
			c.append(s)
s=0
for i in a:
	s+=count(i)
for i in b:
	s+=count(i)
for i in c:
	s+=count(i)
print(s)#
from datetime import datetime as dt
from datetime import timedelta as td
time1=dt(2000,1,1)# 创建起始时间对象
time2=dt(2020,10,1)# 创建结束时间对象
day=td(days=1)# 创建增加一天用的对象。(注意这里是td,是timedelta)
s=0
while time1<=time2:# 时间是可以直接比较的
	if time1.day==1 or time1.weekday()==0: s+=1# weekday()是方法,[0-6],day是属性
s+=1# 不是特殊的也要加1,我当时好像忘加了呜呜呜
time1+=day# datetime对象只能与timedelta对象进行运算,返回datetime对象。
print(s)
在这里插入代码片

你可能感兴趣的:(日志1月7日)