python练习2020/08/02

1.自定义split
def split(s,split_str=None,times=None):
    if split_str==None:
        split_str=' '
    if times==None:
        times=s.count(split_str)
    result=[]
    split_str_length=len(split_str)
    index=0
    while times>0:
        temp=''
        for i in range(index,len(s)):
            if s[i:i+split_str_length]!=split_str:
                temp+=s[i]
                index+=1
            else:
                index+=split_str_length
                break
        result.append(temp)
        times-=1
    result.append(s[index:])
    return result

print(split('w*d*d*v*d','*'))

20、实现一个方法,判断一个正整数是否是2的乘方,比如1624次方,返回True18不是2的乘方,返回False。要求性能尽可能高
import math
def func(num):
    for i in range(int(math.sqrt(num)+1)):
        if pow(2,i)==num:
            return True
    return False

print(func(16))
print(func(18))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值