1370607278 发表于 2022-2-28 10:45:07

python的函数问题

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)

1.想问下这个count函数是怎么使用的,
2. s.count(s) == n / i 这个条件的目的是什么

谢谢各位大佬

1370607278 发表于 2022-2-28 10:57:01

谢谢大家我明白了!

isdkz 发表于 2022-2-28 11:07:39

1、字符串的count方法是用来计算指定字符串在该字符串中出现的次数的,

比如 s.count(s) 是计算 s 在 s 中出现的次数。

2、s.count(s) == n / i 中 s 的长度为 i,

而 n / i 中 n 是 字符串 s 的总长度,i 为s 的 长度,

n / i 就为 字符串 s 的总长度 比 s 的长度的倍数,

总的条件就是 s 在 s 中出现的次数 正好等于 字符串 s 的总长度 比 s 的长度的倍数,

说明 s 在 s 中 正好重复出现
页: [1]
查看完整版本: python的函数问题