gpt4 book ai didi

python - 这段代码中有哪些反模式和错误?

转载 作者:行者123 更新时间:2023-11-28 16:26:50 24 4
gpt4 key购买 nike

你能帮我找出代码中的反模式和问题吗?我似乎无法弄清楚这段代码和解决方案的反模式。我已经修正了一些错误,但我相信还有很多错误:

class Stringchecker():
def __init__(self):
pass
def check_pass(people_text):
result = []
for k in people_text:
if people_text[k] =="pass":
result.append(k)
else:
return result


if __name__== "__main__":
people_text = {'Mia': 'pass', 'Mike': 'fail', 'Jack': 'pass')
sc = StringChecker()
print sc.check_pass(people_text)

最佳答案

您的代码有几个语法问题和一些逻辑问题。你也没有使用 class constructor正确地,仅仅给它一个 pass 并不是一个好习惯。另一件事是使用 list comprehension为您的 check_pass 方法。我对您的代码进行了一些更正:

class StringChecker(object):

def __init__(self, people_text):
self.people_text = people_text

def check_pass(self):
return [k for k, v in self.people_text.items() if v == "pass"]

if __name__ == "__main__":
sc = StringChecker({'Mia': 'pass', 'Mike': 'fail', 'Jack': 'pass'})
print sc.check_pass()

输出:

['Mia', 'Jack']

注意:根据@JLPeyret

的建议更新了列表理解

关于python - 这段代码中有哪些反模式和错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35907083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com