Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 5, 2017 13:26:41

EdwardK
Зарегистрирован: 2017-02-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Редактировать файл с условием

Всем привет!

Столкнулся с небольшой проблемой,нужно считать файл и провести с ним небольшие монипуляции.

Есть текстовый файл заполненный нулями:

 0
 0
 0
 0
 0

Далее нужно сравнить 2 списка,если элементы в списке равны,то в эту же позицию в файле нужно увеличить на 1,если они отличаются то скинуть до 0,

Пытаюсь реализовать данную задачу таким кодом :

 status_data_new = [53, 87, 705, 31, 65]
status_data_old = [69, 55, 705, 94, 5]
status_data = open('data_status.txt', 'r').readlines()
print(status_data)
for i in range(len(status_data_new)):
    if status_data_new[i] == status_data_old[i]:
        status_data[i] += 1
    else:
        status_data[i] = 0
print(status_data)

Выдает следующее :
Traceback (most recent call last):
['0\n', '0\n', '0\n', '0\n', '0']
File "C:/Users/Edward/PycharmProjects/Test1/Data_check.py", line 12, in <module>
status_data[i] += 1
TypeError: must be str, not int

Перепробовал вагон вариантов,везде выдает разные ошибки.
Буду рад вашей помощи и направлением меня в нужное русло

Спасибо

Прикреплённый файлы:
attachment Data_check.py (348 байт)

Офлайн

#2 Фев. 5, 2017 14:02:47

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Редактировать файл с условием

ну все потому что вы из файла считали строки а в коде к строке пытаетесь прибавить число

 status_data_new = [53, 87, 705, 31, 65]
status_data_old = [69, 55, 705, 94, 5]
status_data = list(map(int,open('data_status.txt', 'r').readlines()))
for i,(new,old) in enumerate(zip(status_data_new,status_data_old)):
    if new == old:
        status_data[i] += 1
print(status_data )

Отредактировано marvellik (Фев. 5, 2017 14:05:19)

Офлайн

#3 Фев. 5, 2017 21:04:35

EdwardK
Зарегистрирован: 2017-02-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Редактировать файл с условием

marvellik
ну все потому что вы из файла считали строки а в коде к строке пытаетесь прибавить число

Спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version