Python 需要了解代码部分的帮助吗

Python 需要了解代码部分的帮助吗,python,Python,我写了一段代码,上面有一个自动机器机器人 我们不允许质疑这个机器人,它“100%正确” 我得了90%。教授不会重读,如果我们遇到困难,我们“注定”要付钱给一个高年级的学生来帮助我们,因为这是一门基础课程 代码如下: def something(placeholder): """ append intengers """ siba = list() try: for items in placeholder: if i

我写了一段代码,上面有一个自动机器机器人

我们不允许质疑这个机器人,它“100%正确”

我得了90%。教授不会重读,如果我们遇到困难,我们“注定”要付钱给一个高年级的学生来帮助我们,因为这是一门基础课程

代码如下:

def something(placeholder):
    """
    append intengers
    """
    siba = list()
    try:
        for items in placeholder:
            if int(items):
                siba.append(int(items))
    except ValueError:
        pass
    return siba


placeholder = ["123", "+142", "-39", "GRTG356", "x", "12-3", "123+"]
print(something(placeholder))

有谁能告诉我,我能做些什么来获得100%的回报?这是我唯一被标记为“0”的代码部分。我仍然得到相同的答案,只是方法错误。

如果其中的值无法转换为int,则错误处理当前将返回列表。它应该转到下一项

def something(placeholder):
    """
    append intengers
    """
    siba = list()
    for items in placeholder:
        try:
            siba.append(int(items))
        except ValueError:
            pass
    return siba

如果我为您的原始代码提供
[“123”、“+142”、“-39”、“GRTG356”、“x”、“1”、“12-3”、“123+”、“572”]
它将返回
[“123”、“+142”、“-39”]
而它应该返回
[123、142、-39、1、572]
这个机器人还有其他输出吗?如果我们不知道它在寻找什么,就很难说出它在抱怨什么。异常处理应该在循环内部,而不是外部吗?代码的目标是什么?那么问题是什么?我们应该猜猜这些%的含义,然后为您解决它
int(items)
检查不正确,不需要。您希望得到什么输出?它起作用了。输出是
[123142,-39]
您是机器人吗?:)只是为了澄清OP:如果代码中发生异常,循环将终止。您的解决方案之所以有效,是因为它将在出现错误时继续执行下一个元素。否。但如果输入数据略有不同,则返回列表将不完整。因此我认为这就是问题所在。谢谢@marounnaroun我现在明白了,我做错了什么!