I';我试图用python解决代码战中的一个问题

I';我试图用python解决代码战中的一个问题,python,for-loop,if-statement,Python,For Loop,If Statement,所以我的问题是,我认为代码是好的,但它不能像我希望的那样工作。 制作一个程序,过滤字符串列表,并返回一个仅包含您朋友姓名的列表 如果一个名字里面正好有4个字母,你可以确定它一定是你的朋友!否则,你可以确定他不是 例如:输入=[“Ryan”,“Kieran”,“Jason”,“Yous”],输出=[“Ryan”,“Yous”] 我写的代码是: def friend(x): for x in friend: split_words = x.split( ) w

所以我的问题是,我认为代码是好的,但它不能像我希望的那样工作。 制作一个程序,过滤字符串列表,并返回一个仅包含您朋友姓名的列表

如果一个名字里面正好有4个字母,你可以确定它一定是你的朋友!否则,你可以确定他不是

例如:输入=[“Ryan”,“Kieran”,“Jason”,“Yous”],输出=[“Ryan”,“Yous”]

我写的代码是:

def friend(x):
    for x in friend:
        split_words = x.split( )
        word_count = len(split_words):
            if word_count = 4:
                print(x)

提前谢谢

遍历名称列表。 检查每个名字的长度:使用helper函数
is\u friend
。 如果是列表中的朋友,则收集姓名。 打印结果列表

Input=[“Ryan”、“Kieran”、“Jason”、“Yous”]
def是您的朋友(姓名):
返回len(name)==4
朋友=[]
对于输入中的名称:
如果是您的朋友(姓名):
添加(姓名)
打印(朋友)
或使用以下内容的较短版本:

friends=[如果len(name)==4,输入中的name对应name]
打印(朋友)

提示:字符串也有长度。看起来任务是返回一个列表——你打印出所有正确的名字。但您还没有告诉我们您想要解决的实际问题。提示:
=!===您的代码存在多个问题,首先是语法错误、类型错误,然后是完全错误的行为。如果Codewars没有提供足够的信息,您应该在本地IDE甚至Python交互式shell中调试代码。请不要使用列表理解来产生副作用。事实上,预期的输出看起来应该打印过滤列表本身,而不是单个名称。