Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 22, 2014 11:53:58

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Что сделать что бы 2 раза не печаталось ?

А что с None непонятно?

Офлайн

#2 Фев. 22, 2014 11:55:13

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Что сделать что бы 2 раза не печаталось ?

ingfa_1981
так понятно все стало мне, кроме None
Вы использовали
print(студент.печатать_информацию(вася))
, т.е. происзодил вызов ф-ции печатать_информацию, которая печатала инфу, и ничего не возвращала, и поэтому print выводил none.

Офлайн

#3 Фев. 22, 2014 11:56:37

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Что сделать что бы 2 раза не печаталось ?

class студент:
    город = 'питер'
    def __init__(self, имя, год_обучения):
        self.имя = имя
        self.год_обучения = год_обучения
    def печатать_информацию(self):
        if self.год_обучения > 4:
            print(self.имя, 'учиться ', self.год_обучения, ' лет',' в городе ', self.город)
        elif self.год_обучения > 1 and self.год_обучения < 5:
        	print(self.имя, 'учиться ', self.год_обучения, ' года',' в городе ', self.город)
        else:
        	print(self.имя, 'учиться ', self.год_обучения, ' год',' в городе ', self.город)
вася = студент('вася', 1)
петя = студент('петя', 4)
гена = студент('гена', 7)
вася.город = 'москва'
информация = студент.печатать_информацию
print(информация(вася))
print(информация(петя))
print(информация(гена))

[code python]вася питер 1
вася учиться 1 год в городе москва
None
петя учиться 4 года в городе питер
None
гена учиться 7 лет в городе питер
None[/code]

Офлайн

#4 Фев. 22, 2014 11:59:12

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Что сделать что бы 2 раза не печаталось ?

уберите print'ы

информация(вася)
информация(петя)
информация(гена)
или если так хочеться использовать print, то перепишите
print(self.имя, 'учиться ', self.год_обучения, ' год',' в городе ', self.город)
на
return (self.имя, 'учиться ', self.год_обучения, ' год',' в городе ', self.город)

Отредактировано alexsis (Фев. 22, 2014 12:00:58)

Офлайн

#5 Фев. 22, 2014 11:59:40

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Что сделать что бы 2 раза не печаталось ?

так мне в самой функции печатать_информацию применить return?

Офлайн

#6 Фев. 22, 2014 12:01:35

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Что сделать что бы 2 раза не печаталось ?

ingfa_1981
так мне в самой функции печатать_информацию применить return?
да

Офлайн

#7 Фев. 22, 2014 12:01:48

ingfa_1981
Зарегистрирован: 2014-01-25
Сообщения: 200
Репутация: +  1  -
Профиль   Адрес электронной почты  

Что сделать что бы 2 раза не печаталось ?

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

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version