我试图制作一个程序,在一个模式出现在序列中的次数具有相同的计数值的条件下,如果一个字符串被接受或不被接受,则打印该程序;例如,将接受“aaabbccc”,但不接受“aabccc”。我对如何实现它有一些想法,但我被卡住了。任何建议都会很有帮助,非常感谢
# B = {a^n b^n c^n | n ≥ 0}
string = 'aaabbbccc'
count_a = 0
count_b = 0
count_c = 0
for i in string:
if i == 'a':
count_a += 1
elif i == 'b':
count_b += 1
elif i == 'c':
count_c += 1
else:
pass
if count_a == count_b and count_b == count_c:
print('String accepted')
else:
print('Not accepted')
您希望接受这种语言
B = {a^n b^n c^n | n ≥ 0}
。检查这一点的简明方法是:只需对字符串中的每个唯一字符进行计数,如果字符计数不相等,则返回“not accepted”,否则返回“string accepted”
因此计数器计算每个字符重复的次数,然后我们检查 字典中有多少不同的值。如果它们都相同,则长度为1
相关问题 更多 >
编程相关推荐