y学习吧! 发表于 2022-6-23 17:16:49

为什么这两项可以进行比较

#n 一定是 i 的倍数
#s‘ 一定是 s 的前缀子字符串
#n 除以 i 的结果必定是 s’ 在 s 中出现的次数
s = input("请输入一个由字母构成的字符串:")
   
n = len(s)
for i in range(1, n//2+1):
    # 如果子字符串的长度为i,则n必须可以被i整除才行
    if n % i == 0:
      # 如果子字符串的长度为i,则i到i*2之间是一个重复的子字符串
      <<if s.startswith(s) and s.count(s) == n/i:>>(这两项)
            print(True)
            break
# for...else的用法,小甲鱼希望大家还没有忘记哦^o^
else:
    print(False)

白two 发表于 2022-6-23 17:31:42

这代码是要干啥?

y学习吧! 发表于 2022-6-23 17:55:14

判断输入的字符串是否由多个子字符串重复多次构成。
页: [1]
查看完整版本: 为什么这两项可以进行比较