python蓝桥杯真题刷题打卡 | day6

目录

  • 时间显示
    • 问题:
    • 代码:
    • 关于时间方面,历届真题的有关知识点
  • 删除字符
    • 问题:
    • 代码:
  • 最少砝码
    • 问题:
    • 代码:

时间显示

问题:

python蓝桥杯真题刷题打卡 | day6_第1张图片
输入

46800999

输出

13:00:00

代码:

import datetime

start = datetime.datetime(1970,1,1)
millsec = datetime.timedelta(milliseconds=1)
period = int(input())

now = start + millsec*period
print("%02d:%02d:%02d"%(now.hour,now.minute,now.second))

关于时间方面,历届真题的有关知识点

python之字符串中有关%d,%2d,%02d的问题
可以在"%"和字母之间插进数字表示最大场宽。
%3d 表示输出3位整型数,不够3位右对齐。
%9.2f 表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。 (注意:小数点前的数字必须大于小数点后的数字。小数点前的数值规定了打印的数字的总宽度。如果忽略了(如:.2f),则意味着总宽度无限制。)
%8s 表示输出8个字符的字符串,不够8个字符右对齐。

例:
python蓝桥杯真题刷题打卡 | day6_第2张图片
python蓝桥杯真题刷题打卡 | day6_第3张图片
python蓝桥杯真题刷题打卡 | day6_第4张图片
这里%02d和%.2d效果相同

datetime.datetime对象可以用.hour .minute .second来获取具体时间
而datetime.date对象不可以
嫌麻烦就最好使用datetime,方法多

timedelta有以下单位可以使用
python蓝桥杯真题刷题打卡 | day6_第5张图片
days 天数 seconds 秒数 microseconds 微秒数 millseconds 毫秒数
mintutes分钟数 hours小时数 weeks周数
具体使用哪一种看题目要求
其他有用的方法:
python蓝桥杯真题刷题打卡 | day6_第6张图片
循环遍历日期时
月初是.day==1 , 星期一.weekday()==0

这里,世纪末的星期,用了星期天
python蓝桥杯真题刷题打卡 | day6_第7张图片
运用好datetime函数可以让时间方面的问题变得非常简单
一定要学会巧妙运用datetime函数

删除字符

问题:

python蓝桥杯真题刷题打卡 | day6_第8张图片
输入

LANQIAO
3

输出:

AIAO

代码:

ls=list(input())
for i in range(eval(input())):
    ls.remove(max(ls[0],ls[1]))
print(''.join(ls))

解析:

删除字符,使得字典序最小。
首先要考虑怎么比较字典序,就是从头依次比较,我们每次删除前两个字符字典序较大的那一个,就可以保证得到最后的结果就是字典序最小的

最少砝码

问题:

python蓝桥杯真题刷题打卡 | day6_第9张图片
输入:

7

输出:

3

代码:

import os
import sys

# 请在此输入您的代码
n = int(input())
w = 1
count = 1
t = 1
while n>t:
  count += 1
  w = w*3
  t += w
print(count)

python蓝桥杯真题刷题打卡 | day6_第10张图片

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