【发布时间】:2017-11-15 02:06:28
【问题描述】:
我正在编写一个程序,用户可以在其中输入开始年份和结束年份,该程序将打印出图书奖获奖者之间所有年份的信息。这是我目前所拥有的:
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 次而不是中间的年份。
我可以在这里寻求帮助吗?如果可能的话,你能解释一下你是怎么做到的吗?
【问题讨论】:
-
请发布您的文件,或它的sn-p,以及程序输出。 :) 从表面上看,看起来你可能有点搞砸了你的循环和变量声明,试着用伪代码和你的测试用例的期望值来评论每一行,如果你把它发回去,那么我们就会知道错误之间的区别语法或错误的期望
标签: python function file loops for-loop