Уведомления

Группа в Telegram: @pythonsu

#1 Июль 22, 2019 18:11:14

DmitriyBolshebiba
Зарегистрирован: 2019-07-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите дурачку в решении проблемы.

Не так давно начал изучать python 3.0, на данный момент в рамках изучения пишу программу а-ля “контакты”, работающую через командную строку (позже буду интерфейс прикручивать). Запоролся на моменте слияния классов (для размещения доп. информации о контакте) и самого словаря (как списка этих самых контактов). Может кто объяснить недоучке, как мне заставить две этих функции работать вместе? код прилагаю.

Прикреплённый файлы:
attachment contacts3.txt (2,7 KБ)

Офлайн

#2 Июль 22, 2019 18:38:25

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Помогите дурачку в решении проблемы.

У метода tell в классе contmember не верный отступ.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Июль 22, 2019 19:30:12

DmitriyBolshebiba
Зарегистрирован: 2019-07-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите дурачку в решении проблемы.

Rodegast
У метода tell в классе contmember не верный отступ.

принял, попробую поправить.
Есть какие-нибудь предложения по реализации работы с прогой?
Ввод чисел очень примитивен и при опечатках любит давать ошибки

Офлайн

#4 Июль 22, 2019 19:37:10

DmitriyBolshebiba
Зарегистрирован: 2019-07-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите дурачку в решении проблемы.

Rodegast
У метода tell в классе contmember не верный отступ.
там что-то помимо отступа мешает.
при вызове контакта через команду 1 он принимает его как просто str а не как класс из-за чего выдаёт, что он не имеет функции tell

Офлайн

#5 Июль 22, 2019 20:08:09

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Помогите дурачку в решении проблемы.

 elif a==1:
        f = open(contacts_file, 'rb')
        f = open(addinfo_file, 'rb')
        contacts = pickle.load(f)
        input('who do we call? ----> ').tell
Опиши что по твоему здесь делает каждая строчка и для чего?

Офлайн

#6 Июль 23, 2019 00:27:43

DmitriyBolshebiba
Зарегистрирован: 2019-07-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите дурачку в решении проблемы.

Romissevd

первая нужна для перехода непосредственно к этой команде. К сожалению, ничего умнее циферок я не придумал.
вторая открывает для чтения contacts_file, чтобы из него брать эти самые контакты
третья делает то же самое, но с файлом для классов (наверное)
четвёртая присваивает переменной значение того, что хранится в contacts_file
пятая должна была в моём очень кривом понимании заставлять введённое имя, которое раннее делается классом, выполнять функцию tell

Офлайн

#7 Июль 23, 2019 01:45:07

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

Помогите дурачку в решении проблемы.

DmitriyBolshebiba
позже буду интерфейс прикручивать
Да ты её в консоли-то не напишешь. С чего ты взял, что консольные программы простые?

DmitriyBolshebiba
Запоролся на моменте слияния классов
Тебе не надо классы использовать, ты ещё не освоил программирование без классов. Эту программу можно без классов написать прекрасно и она будет работать и всё точно запрашивать и сохранять. Но так как ты не можешь её написать, тебе кажется, что ты просто в классах не разбираешься.

Так что начни с нуля всё. Сначала даже без функций пиши. Потом переходи на функции. И только когда ты будешь понимать работу с функциями (когда программа вся на функциях будет написана), тогда ты можешь начинать переходить к классам. И то это будет даже не ООП, а программирование “со структурами” или программирование с абстрактными типами данных. Это будут просто составные типы данных, которые никак друг с другом не взаимодействуют.

DmitriyBolshebiba
Не так давно начал изучать python 3.0
Программирование - это как изобразительное искусство. Python 3.0 - это просто одна из кисточек. И изучать ты стал фактически только кисточку, чтобы научиться писать картины. Конечно, кисточка нужна, хоть рисовать сложные вещи можно и простым карандашом, но для написания картины нужно что-то больше, чем просто знание кисточки. И изучение кисточки никак не поможет тебе научиться изображать объём предметов через игру света и тени.

Найди курс по программированию для начинающих и проходи его. Просто изучение питона нифига не даст. У тебя просто не будут получаться программы. Язык программирования программу не делает. Язык программирования ты просто используешь, чтобы записать уже придуманную программу.

Вот курс Тимофея из МФТИ для новичков
Тут набор лекций по теории
https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
Тут лабораторные по этим лекциям
https://judge.mipt.ru/mipt_cs_on_python3/labs/lab1.html
https://judge.mipt.ru/mipt_cs_on_python3/labs/lab2.html



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version