0
私はユーザが初年度と終わり年を入力できるプログラムを作成しています。プログラムはすべての年の間、間にここで私はこれまで持っているものです。Pythonで動的行を "for line in file"で印刷する
ui = input("Enter a beginning year('q' or 'Q' to quit): ")
ui2 = input("Enter an ending year: ")
file = open("bookListFile.txt", "r")
def getBook(user, user2):
yearsBetween = int(ui2) - int(ui)
yearCount = 0
for line in file:
while user in line and user.isdigit() and yearCount < yearsBetween:
print(line)
yearCount += 1
getBook(ui, ui2)
ここでの問題は、私はラインを印刷するとき、それは何度も同じ行を出力しています。たとえば、開始年として1985を入力し、終了年として2000を入力すると、年の代わりに同じ行が15回印刷されます。
ここで助けを得ることはできますか?可能であれば、あなたはそれをどうやって説明したでしょうか?
ファイルまたはそのスニペットとプログラムの出力を投稿してください。 :)表面上では、ループと変数の宣言を少し混乱させるかもしれないように見えますが、擬似コードとテストケースの期待値を使って各行にコメントしてみてください。構文や誤った期待 –