时间显示
问题:
输入
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周数
具体使用哪一种看题目要求
其他有用的方法:
循环遍历日期时
月初是.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)