Как повторить цикл на основе ввода пользователя?

Я новичок здесь, но часто заглядываю сюда за помощью. В любом случае, я пытаюсь использовать tkSimpleDialog.askinteger (), чтобы узнать, сколько файлов пользователю нужно прочитать в программе. Я хочу прочитать файлы на основе целого числа, которое пользователь вводит в цикл for. Я бы проиндексировал имена файлов f [1] через f [n] для имен файлов. Любой вход был бы признателен!

Пожалуйста, просмотрите ниже, чтобы понять, к чему я пытаюсь добраться:

def callback2(): NumDates = tkSimpleDialog.askinteger("NDates", "How many dates are there?") for dates in NumDates: filename[dates] = tkFileDialog.askopenfilename() dates = dates + 1 filenameDates.append(filename) 

Предполагая, что NumDates является целым числом, вы ищете функцию диапазона:

 for dates in range(NumDates): ... 

В python 2.x вместо этого вы можете использовать xrange . Это не создает промежуточный список, поэтому многие люди предпочитают его. В python 3 xrange был переименован в range и прежняя функция диапазона, которая возвращает список, была удалена. Когда списки невелики, я обычно просто использую range для совместимости, но существуют инструменты ( 2to3 ), чтобы позаботиться об этих деталях для вас также, так что это действительно не так уж и важно.

в стороне

Кроме того, как написано, действительно нет необходимости в dates = dates + 1 (что лучше написано в виде dates += 1 когда это необходимо).