1

これまでのところ、このコードを取得しています。数値を入力すると、ファイル内の特定の行が読み取られ、packages.txtそれが Python シェルに出力されます。以下のコードでは、たとえば「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)コードの流れと がいつ呼び出されるかを考えてください。

このコードとあなたのコードの 2 つの非常に重要な違いがわかりますか?

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 に答える