Check if String is Happy

A string is happy if every three consecutive characters are distinct.

def check_if_string_is_happy1(input_str):
	check = []	
	for a,b,c in zip(input_str,input_str[1:],input_str[2:]):
		if a == b or b == c or a == c:
			check.append(False)
		else:
			check.append(True)
	return all(check)
def check_if_string_is_happy2(input_str):
	return not any(
		a == b or a == c or b == c
		for a ,b,c in zip(input_str,input_str[1:],input_str[2:])
		 )

zip() 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
any() 用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
all() 用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

posted @ 2024-07-14 10:11  华小电  阅读(1)  评论(0编辑  收藏  举报