Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 4, 2016 16:29:54

kuznya
Зарегистрирован: 2016-01-04
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите,пожалуйста, исправить программу

здравствуйте! помогите,пожалуйста!!!
каждый раз,когда в консоли вывожу просмотр, выводится на 1 строчку больше (прикрепила фото). как сделать так,чтобы всегда выводилась только одна строчка?
вот код
надеюсь,объяснила понятно..спасибо!

http://pastebin.com/L4quktn8

self.list.insert(0,bookX)

def delete (self, number):
del self.list

def SearchName(self, name):
for book in self.list:
if book.n == name:
print(book.a, book.n, book.p, book.y, book.num)

def SearchAuthor(self, name):
for book in self.list:
if book.a == name:
print(book.a, book.n, book.p, book.y, book.num)

def SearchPublishing(self, name):
for book in self.list:
if book.p == name:
print(book.a, book.n, book.p, book.y, book.num)

def SearchYearPubl(self, name):
for book in self.list:
if book.y == name:
print(book.a, book.n, book.p, book.y, book.num)

def LoadFromFile(self, FileName):
f = open (FileName + ‘.txt’)
for line in f:
k = 0
author = ‘'
name = ’'
publishing = ‘'
YearPubl = ’'
NumPages = ''
letter = line
while letter != ‘|’ :
author = author + letter
k = k + 1
letter = line
k = k + 1
letter = line
while letter != ‘|’ :
name = name + letter
k = k + 1
letter = line
k = k + 1
letter = line
while letter != ‘|’ :
publishing = publishing + letter
k = k + 1
letter = line
k = k + 1
letter = line
while letter != ‘|’ :
YearPubl = YearPubl + letter
k = k + 1
letter = line
k = k + 1
letter = line
while letter != ‘\n’ :
NumPages = NumPages + letter
k = k + 1
letter = line
self.include (author, name, publishing, int(YearPubl), int(NumPages))
f.close()


def LoadInFile (self, FileName):
f = open (FileName + ‘.txt’, ‘w’)
for book in self.list:
f.write(book.a + ‘|’ + book.n + ‘|’ + book.p + ‘|’ + str(book.y) + ‘|’ + str(book.num) + ‘\n’)
f.close()


class Book:
def __init__(self, author, name, publishing, YearPubl, NumbPages):
self.a = author
self.n = name
self.p = publishing
self.y = YearPubl
self.num = NumbPages

Прикреплённый файлы:
attachment Z1mrvIAalXY.jpg (226,0 KБ)

Офлайн

#2 Янв. 4, 2016 18:11:00

A.N.Onim
Зарегистрирован: 2015-11-08
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите,пожалуйста, исправить программу

ахахахах, Вы слишали что-то про скриншоты?)))

Офлайн

#3 Янв. 4, 2016 18:16:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

помогите,пожалуйста, исправить программу

kuznya
каждый раз,когда в консоли вывожу просмотр, выводится на 1 строчку больше
Это не из-за prosmotr(), а из-за LoadFromFile().
Нужно добавить очистку внутреннего списка перед считыванием.



Офлайн

#4 Янв. 4, 2016 18:16:57

A.N.Onim
Зарегистрирован: 2015-11-08
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите,пожалуйста, исправить программу

Ну, как по мне выводиться на одну строчку больше не тогда когда вы вызиваете просмотр, а тогда когда перед этим сделали загрузку из файла. То есть в файле у вас одна книга, но 5 раз загрузив из файла у вас вышел self.list из 5 одинаковых элементов. А выводит все)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version