检查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