1

到目前为止,我已经得到了这个代码。您输入一个数字,它应该读取文件中的特定行packages.txt并将其打印到 python shell。在下面的代码中,例如,如果您输入“3”,它将打印我不希望的第 1-3 行做。

which = input('Which package would you like?: ')

    with open('packages.txt') as f:
        i = 0
        for line in f:
            if i == (int(which)):
                break
            i += 1
            print (line)
4

3 回答 3

2

想想代码的流程以及何时print (line)被调用。

你能看出这段代码和你的代码之间的两个非常重要的区别吗?

which = input('Which package would you like?: ')

with open('packages.txt') as f:
    i = 1
    for line in f:
        if i == (int(which)):
            break
        i += 1
print (line)
于 2012-05-06T05:31:32.110 回答
1

您可以enumerate通过f获取行的索引并在匹配时打印它which。我认为这是一个家庭作业问题,所以不在这里放完整的代码:)

于 2012-05-06T05:31:19.520 回答
0

你可以简单地这样做:

lines = open('packages.txt').readlines()

现在你可以猜到剩下的了。

于 2012-05-06T07:58:21.110 回答