检查Python中字符串中所有字符的频率是否为质数
假设我们有一个字符串s。我们必须检查s中每个字符的出现是否是素数
因此,如果输入像s=“apuuppa”,则输出将为True,因为有两个'a',三个'p'和两个'u'。
为了解决这个问题,我们将遵循以下步骤-
freq:=包含所有字符及其频率的映射
对于频率中的每个字符,执行
返回False
如果freq[char]>0并且freq[char]不是素数,则
返回True
让我们看下面的实现以更好地理解-
范例程式码
from collections import defaultdict def isPrime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def solve(s): freq = defaultdict(int) for i in range(len(s)): freq[s[i]] += 1 for char in freq: if freq[char] > 0 and isPrime(freq[char]) == False: return False return True s = "apuuppa" print(solve(s))
输入值
"apuuppa"输出结果
True