Python 如何从文件中获取所有正数的和?

Python 如何从文件中获取所有正数的和?,python,Python,我正在解决这个问题,但我不知道为什么我所有的测试用例都失败了。它总是在我所有的测试用例中打印空文件。它有两个部分:首先读取-999之前的文件,将-999之前的所有正数相加,如果文件为空,则返回空。原来的问题就在图中。有人能检查一下这个密码吗?[1] : 你读清单的方式是错误的。你能试一下吗 mylist=[] 打开“/home/salman/Desktop/input.txt”作为f: 对于f中的行: mylist.appendintline.strip mylist.appendline my

我正在解决这个问题,但我不知道为什么我所有的测试用例都失败了。它总是在我所有的测试用例中打印空文件。它有两个部分:首先读取-999之前的文件,将-999之前的所有正数相加,如果文件为空,则返回空。原来的问题就在图中。有人能检查一下这个密码吗?[1] :


你读清单的方式是错误的。你能试一下吗

mylist=[] 打开“/home/salman/Desktop/input.txt”作为f: 对于f中的行: mylist.appendintline.strip
mylist.appendline mylist=listmapint,mylist不正确。将其更改为mylist.AppendIntLine请修复问题中代码的缩进。现在还不清楚哪些行属于with语句。这不会像预期的那样工作,因为map返回一个生成器,所以要么直接使用int,要么将整个内容包装在下一行中。我这样读,但我必须跳过文件中的第一个数字,例如6,5,-4,6,7,-9999,-所以我必须从5开始读,在-999之前继续读,然后取5到-999之间的正数之和
with open('/home/salman/Desktop/input.txt', 'r') as f:
first_line = f.readline()
#print(first_line)
for line in f :
    line = line.strip()
    mylist.append(line)
    mylist = list(map(int, mylist))

f.close()


def ifyes():
    if len(mylist) == 0:
        print("Empty")
    else:
        if -999 in mylist:
            print("yes -999 in list")
            print("Your numbers in file are :", mylist)
            index = mylist.index(-999)
            print("Index of -999 is :", index)
            print("Number before -999 in file are :", mylist[0:index])
            newlist = mylist[0:index]
            print("Numbers in new list:", newlist)
            theSum(newlist)
        else:
            theSum(mylist)