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

时间显示

问题:

在这里插入图片描述
输入

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个字符右对齐。

例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里%02d和%.2d效果相同

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

timedelta有以下单位可以使用
在这里插入图片描述
days 天数 seconds 秒数 microseconds 微秒数 millseconds 毫秒数
mintutes分钟数 hours小时数 weeks周数
具体使用哪一种看题目要求
其他有用的方法:
start.day == 1start.weekday()
循环遍历日期时
月初是.day==1 , 星期一.weekday()==0

这里,世纪末的星期,用了星期天
在这里插入图片描述
运用好datetime函数可以让时间方面的问题变得非常简单
一定要学会巧妙运用datetime函数

删除字符

问题:

在这里插入图片描述
输入

LANQIAO
3

输出:

AIAO

代码:

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

解析:

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

最少砝码

问题:

在这里插入图片描述
输入:

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)

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码魔法师!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值