Форум сайта python.su
Приветствую, господа программисты! Простите за возможно глупую задачу, но бьюсь уже часа три. Прошу помощи.
Если вкратце: то программа должна брать содержимое файла goroda.txt, затем добавлять построчно каждый город к каждой переменной из массива spisok. Хотя бы так. На сохранение в файл пока еще не претендую. Но возникла проблема с тем, что не могу правильно задать цикл - либо она перестает выполняться, либо куча ошибок.
goroda = open('C:\\goroda.txt').readlines() spisok = ["перем1", "перем2", "перем3", "перем4", "перем5", "перем6", "перем7",] z = 0 for elm in goroda: print(spisok[z]+" "+elm) z+=1
Офлайн
мне кажется что количество строк больше количества элементов в списке
запустите этот код и увидите
goroda = open('C:\\goroda.txt').readlines() spisok = ["перем1", "перем2", "перем3", "перем4", "перем5", "перем6", "перем7"] z = 0 for elm in goroda: if z >= len(spisok): print("в файле больше строк чем элементов в списке") break print(spisok[z] + " " + elm) z+=1
Офлайн
Да, я увидел, спасибо. Переменных в городах 47 вообще.
Но вопрос все равно остался неясен: можно ли при помощи цикла for обойти весь массив так, чтобы к каждой переменной из spisok добавлялись поочередно, а затем выводились все переменные из файла?
Прошу прощения за, вероятно, тривиальный вопрос, но мозг кипит.
Офлайн
goroda = open('C:\\goroda.txt').readlines() spisok = ["перем1", "перем2", "перем3", "перем4", "перем5", "перем6", "перем7"] z = 0 for elm in goroda: if z >= len(spisok): print(elm) else: print(spisok[z] + " " + elm) z+=1 goroda.close()
goroda = open('test.txt') spisok = ["перем1", "перем2", "перем3", "перем4", "перем5", "перем6", "перем7"] for i in spisok: print(i + ' ' + goroda.readline().rstrip()) for i in goroda.readlines(): print(i.rstrip()) goroda.close()
spisok = ["перем1", "перем2", "перем3", "перем4", "перем5", "перем6", "перем7"] with open('test.txt') as goroda: for i in spisok: print(i + ' ' + goroda.readline().rstrip()) for i in goroda.readlines(): print(i.rstrip())
Отредактировано terabayt (Март 4, 2015 16:25:13)
Офлайн
Варианты действительно идентичны, но выдают текст
перем1 Одинцово
перем2 Красногорск
перем3 Люберцы
перем4 Химки
перем5 Мытищи
перем6 Королев
перем7 Реутов
Долгопрудный
Видное
Подольск
Щербинка
…. (и еще куча городов без переменных в начале)
Офлайн
Nellследующий раз приводите пример
Нужно же, чтобы к каждой переменной (перем1-7) добавлялись по порядку все города.
spisok = ["перем1", "перем2", "перем3", "перем4", "перем5", "перем6", "перем7"] with open('test.txt') as goroda: g = goroda.readlines() for i in spisok: for j in g: print(i, j, end='')
Офлайн
Да, заработало верно! Спасибо Вам большое!
P.S. Прошу прощения что сразу не полностью описал задачу.
Офлайн