我正在尝试使循环遍历提供的字符串,如果找到了无法识别的字符,则返回False
,如果识别出所有字符,则返回True
。我确实意识到for
循环不允许在其中返回值,但是考虑到这是更大代码的一部分,我需要返回一个bool
值,而不是print值。
有没有一种方法可以解决这个问题,而无需使用for
循环?我的代码在下面。
(我也在入门课程中,其中许多内置函数尚未学习,因此我可能不应该使用...解决此问题的任何简单方法?)
chars = ["o", ".", "\"", "n"]
def find_characters(s):
for c in s:
if c not in chars:
break
# IDEALLY WANT
def find_characters(s):
for c in s:
if c not in chars:
return False
break
else:
return True
答案 0 :(得分:5)
def find_characters(s):
for c in s:
if c not in chars:
return False
return True
根据评论,我认为这是您想要的。
答案 1 :(得分:4)
如果您提供的字符串为s
,则可以检查条件并返回:
def find_characters(s):
return all(c in chars for c in s)
答案 2 :(得分:0)
您可以使用yield从循环中返回多个值:
(Val n) <*> mx = Val n