首先引入我们的学习对象
import time
引入最常用的函数
time.time()# 返回Unix计时点,相对时间之差
time.sleep(1)#延迟一秒
quantime=[]
start=''
while True:
a=input()
if a=='q':
break
elif a=='r':
if not start:
start = time.time() # 返回Unix计时点,相对时间之变
print('start time %s'% start)
else:
if n==1:
quantime.append(time.time()-start)
n+=1
else:
quantime.append(time.time()-quantime[n-2])
n+=1
else:
continue
print('stop now,total time %s, number of loop %s,start time %s'%((time.time()-start),n-1,start))
print(quantime)
import time
print('enter begin, enter click,ctrl+C quite')
input()
print('start')
starttime=time.time()
lasttime=starttime
lapNum=1
try:
while True:
input()
lapTime=round(time.time()-lasttime,2)
totalTime=round(time.time()-starttime,2)
print('lap#%s:%s(%s)'%(lapNum,totalTime,lapTime),end='')
lapNum+=1
lasttime=time.time()
except KeyboardInterrupt:
print('done')
书本上的列题,但是我找不到可以 ctrl c 退出的方式````help
import datetime
datetime.datetime.now()
dt=datetime.datetime(2020,5,21,20,3,5)
#dt.year 来提取值 此时year 就是2020)分别为年月日时分秒
== 实例==
import datetime
delta=datetime.timedelta(days=1,hours=1,seconds=9)
delta.seconds
》3609
delta.total_seconds()
》90009.0
import datetime
delta=datetime.timedelta(days=1,hours=1,seconds=9)
delta.seconds
#》3609 加入了1 hours+9seconds时间
delta.total_seconds()
#》90009.0
#增加一个定时提醒的功能的py文件
import datetime
import time
dt=datetime.datetime(2020,5,23,20,37,0)
while True:
if datetime.datetime.now()==dt:
print('time to rest')
break
import threading,time
def takeNAP():
time.sleep(5)
print('wake up')
threadobj=threading.Thread(target=takeNAP)#注意target不加参数,只调用函数
threadobj.start()
print('end')
通过Thread 对象的线程来完成异步的操作!
如果要加入参数请参考如下 :
print('cat','bug',sep='$')
效果同上
import threading
threadobj=threading.Thread(target=print,args=['cat','bug'],kwargs={sep:$})
threadobj.satart()
#
import subprocess
subprocess.Popen('/usr/bin/gnome-caculator')
#利用命令行参数打开一个程序
subprocess.Popen('/usr/bin/gnome-caculator','/usr/bin/jupyter notebook')
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
pat=0
a=0
if not strs: return ""
for i,j in enumerate(strs[0]):
for k in range(1,len(strs)):
if strs[k][i]:
if strs[k][i]==j:
a+=1
continue
else:
return(strs[0][0:pat])
else:
return(strs[0][0:pat])
if a==(len(strs)-1):
pat+=1
a=0
continue
else:
return(strs[0][0:pat])
网站解答链接
python两种让你拍大腿的解法,时间复杂度你想象不到,短小精悍。 1、利用python的max()和min(),在Python里字符串是可以比较的,按照ascII值排,举例abb, aba,abac,最大为abb,最小为aba。所以只需要比较最大最小的公共前缀就是整个数组的公共前缀
def longestCommonPrefix(self, strs):
if not strs: return ""
s1 = min(strs)
s2 = max(strs)
for i,x in enumerate(s1):
if x != s2[i]:
return s2[:i]
return s1
2、利用python的zip函数,把str看成list然后把输入看成二维数组,左对齐纵向压缩,然后把每项利用集合去重,之后遍历list中找到元素长度大于1之前的就是公共前缀
def longestCommonPrefix(self, strs):
if not strs: return ""
ss = list(map(set, zip(*strs)))
res = ""
for i, x in enumerate(ss):
x = list(x)
if len(x) > 1:
break
res = res + x[0]
return res