十四届蓝桥青少组模拟赛Python-20221108
T1.二进制位数
十进制整数2在十进制中是1位数,在二进制中对应10,是2位数。
十进制整数22在十进制中是2位数,在二进制中对应10110,是5位数。
请问十进制整数2022在二进制中是几位数?
- print(len(bin(2022))-2)
- #运行结果:11
T2.晨跑
小蓝每周六、周日都晨跑,每月的1、11、21、31日也晨跑。其它时间不晨跑。
已知2022年1月1日是周六,请问小蓝整个2022年晨跑多少天?
- # 样例代码1
- ls=[0,31,28,31,30,31,30,31,31,30,31,30,31]
- ans=0
- k=6
- for i in range(1,13):
- for j in range(1,ls[i]+1):
- if (k in [6,7]) or (j in [1, 11, 21, 31]):
- ans+=1
- k += 1
- if k > 7:
- k = 1
- print(ans)
- # 运行结果:138
- # 样例代码2
- import datetime
- start = datetime.datetime(year=2022, month=1, day=1)
- end = datetime.datetime(year=2023, month=1, day=1)
- cnt = 0
- while s