鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 341

[复制链接]
发表于 2020-3-3 16:35:14 | 显示全部楼层
wuqramy 发表于 2020-3-3 16:26
但是你想想,如果该字符串循环了上万次怎么办

那还是得走数字转换
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 17:04:53 | 显示全部楼层
黎影 发表于 2020-3-3 16:35
那还是得走数字转换

对呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 17:14:49 | 显示全部楼层

你会写不?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 17:18:14 | 显示全部楼层

我不是发了一遍嘛
str1 = input('输入:')
number = len(str1)
for a in range(1,(int(number/2))):
        str2 = str1[:a]
        for b in range(0,number,a):
                if str1[b:b+a] != str2:
                        break
        else:
            print('输出:True')
            number1 = int(number/(len(str2)))
            print('解析:可有子字符"%s"重复%s次构成。'%(str2,number1))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 18:42:15 | 显示全部楼层

输入长度为 1 的字符串应该返回 False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 18:42:57 | 显示全部楼层
一个账号 发表于 2020-3-2 20:53
这次应该对了,速度也应该快了一点:

解答错误

输入:"babbabbabbabbab"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 18:51:16 | 显示全部楼层
zltzlt 发表于 2020-3-3 18:42
解答错误

输入:"babbabbabbabbab"

预期结果不应该是 False 吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 18:58:57 | 显示全部楼层
一个账号 发表于 2020-3-3 18:51
预期结果不应该是 False 吗?

‘bab’重复构成
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:00:23 | 显示全部楼层
@zltzlt,能不能看看我的代码?
51楼,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:02:47 | 显示全部楼层
蒋博文 发表于 2020-3-3 19:00
@zltzlt,能不能看看我的代码?
51楼,谢谢

嗯嗯
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:07:54 | 显示全部楼层
zltzlt 发表于 2020-3-3 18:42
输入长度为 1 的字符串应该返回 False

好吧,我以为也算重复了一下
def f341(x):
    l=len(x)
    for i in range(1,l//2+1):
        if not l%i:
            if x[:i]*(l//i)==x:
                return True
    return False

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
zltzlt + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:09:02 | 显示全部楼层
塔利班 发表于 2020-3-3 19:07
好吧,我以为也算重复了一下

56 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:11:04 | 显示全部楼层
zltzlt 发表于 2020-3-3 18:42
解答错误

输入:"babbabbabbabbab"


删掉前两句就可以了:
def func(str1 : str) -> bool:
    str2 = ""
    str3 = ""
    for i in range(len(str1)//2):
        str2 += str1[i]
        for j in range(i+1, i+len(str2)+1):   
            str3 += str1[j]
            if str2 == str3:
                if j == len(str1)-1:
                    return True
                str3 = ""
        str3 = ""
    return False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:15:57 | 显示全部楼层
一个账号 发表于 2020-3-3 19:11
删掉前两句就可以了:

解答错误

输入:"ababab"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:18:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:19:03 | 显示全部楼层
fan1993423 发表于 2020-3-2 21:00
这样看能不能快点

解答错误

输入:"abab"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:20:19 | 显示全部楼层
本帖最后由 zltzlt 于 2020-3-3 19:26 编辑
kinkon 发表于 2020-3-2 21:02
请再测试,18楼


解答错误

输入:"babbabbabbabbab"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:21:08 | 显示全部楼层

解答错误

输入:"ababab"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:21:54 | 显示全部楼层
TJBEST 发表于 2020-3-2 21:16
楼主,赶紧来测一下吧,亲测不算太慢,应该不会超时

解答错误

输入:"ab"
输出:True
预期结果:False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:21:56 | 显示全部楼层
zltzlt 发表于 2020-3-3 19:20
解答错误

输入:"babbabbabbabbab"

这叫什么解答错误!?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 02:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表