Форум сайта python.su
PalromUbuntu - это просто распиаренная хрень. Поэтому подойдёт любая система. Смотри, чтобы оболочка была KDE, иначе будешь скован в возможностях тупыми однокнопочными интерфейсами. Для новичка подойдёт Ubuntu, Fedora, OpenSUSE, Mint и другие. Они всё равно все одинаковые. Не ставь админские системы типа Arch, Gentoo, CentOS и подобные, так как потратишь кучу времени, чтобы их настроить, а плюсов никаких.
Убунту подойдёт последняя? Гугл говорит, что это лучшее решение как для новичков так и для профи.
PalromКод Git'а красивый, но его писал японец. Обычно все коды уродливые, оптимизированные и на чтение не расчитаны. А чтобы чисто на питоне красивый код смотреть, бери книжки по питону, там примеры приводятся.
может знаете где можно поглазеть на образцовый код?
PalromОни все уродливо написаны, потому что оптимизированы.
достаточно открыть и почитать любую встроенную библиотеку
Офлайн
Palromя на ней и остановился, поставил на отдельный ssd.Поначалу будет казаться что все неудобно и непонятно, но все моменты есть в сети, читаешь, изучаешь и со временем понимаешь что все это делается, настраивается, меняется.Потом понимаешь,что на линуксе как-то все стабильнее работает и не грузит систему
Убунту подойдёт последняя?
Офлайн
Можно для main не сделать словарь с функциями под каждый блок. Ну или паттерн Стратегия?
Офлайн
py.user.nextНу чтоб не мудрить накатил Kubuntu. Говорят та же Ubuntu, но со встроенной KDE. Пишу уже с неё.
Они всё равно все одинаковые.
py.user.nextО, книжка книжке рознь. Качнул тут “Грокаем алгоритмы”, код в примерах там заявлен как Пайтон, вроде основную инфу-то автор разжевал, но код - лютый треш с опечатками и ошибками. Причём питоновский код там перемежается с псевдокодом а иногда вообще одно в другом попадается, полагаю ошибки сканирования. Приходилось читать и параллельно гуглить всё время.
чтобы чисто на питоне красивый код смотреть, бери книжки по питону
xam1816Одну только память разметить при установке, как бомбу разминировать, особенно с виндой по соседству) За это не люблю android. Но в целом отторжения не вызывает, не удобно что-то но не смертельно. Привыкну.
Поначалу будет казаться что все неудобно и непонятно
m0nte-cr1st0Воу воу, полегче Я ещё не готов даже мыслить такими понятиями, не то что в коде воплощать
паттерн Стратегия
Отредактировано Palrom (Май 15, 2022 19:31:53)
Офлайн
PalromОна не встроенная, а как бы добавленная. То есть Linux это такой конструктор. Windows - это монолит, а Linux - конструктор. Вот там есть ядро “Linux”, есть программы от “GNU”, поэтому называется это всё GNU/Linux - ядро + программы. И потом это всё разрослось и стали появляться программы не только от GNU. Поэтому в целом сейчас просто называем всё это Linux и всё.
Ну чтоб не мудрить накатил Kubuntu. Говорят та же Ubuntu, но со встроенной KDE.
PalromВ большинстве книг код почищен, это же книги. Но есть книги, которые пишут мальчики-студенты-американских-колледжей, короче, умственно отсталые. Никто им не запрещает книжки писать. Соответственно, надо иметь навыки дифференцирования материала. Если книжка тупая, это видно. Если книжка умная, это видно. Если книжка сделана, чтобы чисто на ней подзаработать, это видно. Поэтому нужно все эти книжки читать, листать, чтобы выработать у себя навыки вот этого различения. Потом уже, после книжек, когда ты будешь видеть разный уровень кодов, ты уже сможешь находить программы с открытым исходным кодом и читать их. Программы тоже друг другу рознь. Бывает какое-нибудь хорошее расширение для браузера, открываешь его код, а там говнокод от начала до конца, то есть работает оно на соплях. А бывает какая-то программа невзрачная, открываешь её код, а там всё идеально. Где-то даже что-то улавливаешь, перехватываешь, берёшь на вооружение. Я вот читал код программы Ассанжа (который сидит в английской тюрьме), он же программист. Так вот код у него говно сплошное, знаешь, хакерство ещё никого хорошим программистом не сделало (ломать не строить), но приём я у него подтянул один - он флажки с буквой f в начале делал. Где-то он тоже этому научился, не изобрёл же он это сам, но там, где учился он, не учился я, поэтому я к тем материалам доступа не имел, но через него дотянулся. Поэтому надо много кодов читать, даже если они говно полное. Там может быть что-то полезное.
О, книжка книжке рознь. Качнул тут “Грокаем алгоритмы”, код в примерах там заявлен как Пайтон, вроде основную инфу-то автор разжевал, но код - лютый треш с опечатками и ошибками.
PalromТы вот открой код YouTube'а или Google'а и посмотри, какие ебланы его делают. Вот мне сейчас надо сделать программу, которая выкачивает комментарии к видео на YouTube (их бывают тысячи и их сложно просматривать, так как они всё время подгружаются, а искать по ним вообще нельзя ничего), так нихера там не сделаешь сходу. Эти комментарии подгружаются там через три пизды колено. В итоге даже пришлось отложить, так как за три часа такую не напишешь, а времени сейчас нет. Просто индусов наняли за три копейки и те делают затычку на затычке, чтобы просто всё работало. А в Яндексе тупая нейронная сеть, всё время блокирует ящики. Я из-за этого вообще отказался от их сервисов, кроме электронной почты (что у них было изначально), потому что приходишь, а эта тупая хуета опять сломала ящик. Тебе дела делать надо, а у тебя ящик заблокирован по подозрению “мы думаем, вас взломали” или там “мы думаем, у вас не очень хорошая защита”. Им пишешь, подключается человек и разблокирует всё, через какое-то время опять эта тупая хуета блокирует всё. Вот так я потерял один раз их диск. Ты просто хочешь зайти на диск и взять свои файлы, которые там хранишь, а аккаунт заблокирован, при этом с диска ничего обратно выкачать нельзя из того, что ты туда складывал. Это вот всё потому, что какой-то дебил там что-то решил придумать своими мозгами тупыми. Как то было я им пишу “я отравляю сам себе письмо, разблокируйте мне мой ящик”, там блять баба какая-то на связи “а зачем вы отправляете самому себе письмо?”, да тебя ебёт что ли? ты типа умная, да? овца. Ну, конечно, не грубишь им, ведь дурость это не порок, любой может дураком родиться и у родителей алкашей в Саратове вырасти и потом выиграть счастливый билет и в Москву перебраться (ночью на автобусе с последним рюкзаком), светануть ебалом с хлопающими ресницами и устроиться куда-то там, чтобы просто сидеть и красотой своей радовать кого-то, но в такие моменты, конечно, думаешь о будущем и меняешь сервис по предоставлению услуг просто. Вот, например, в Google нет такого дебилизма, как же они со спамом борятся? неужели они ничего в спаме не понимают? Так что всё всему рознь. Всё всему рознь, но где-то что-то можно узнать, какую-то мелочь выхватить для себя.
Приходилось читать и параллельно гуглить всё время.
PalromНекоторые ставят в виртуалку и потом типа “да это одно и то же ведь”. Это не одно и то же. У меня, наоборот, в Linux стоит виртуалка, а в виртуалке Windows. Так эту Windows в любой момент можно выключить, когда она там решила поиндексировать диск или повиснуть. С реальной же виндой, которая работает на компе, в которой виртуалка, в которой Linux, ты ничего не сделаешь. И процессор она жрёт, и память, и диск забивает своей хуетой не нужной никому, даже ей самой. Это всё тоже индусские последствия.
особенно с виндой по соседству
PalromУ тебя копипаст. Вот надо от него избавиться. Копипаст - плохой признак. И рано или поздно такой весёлый, добрый и хороший копипаст вылезет боком и превратится в невыкорчёвываемую хренотень по всей программе, из-за которой ничего не сделаешь и только программу можно будет целиком переписать.
У программы в целом неправильная структура, я это уже понял, переделаю, опубликую.
Отредактировано py.user.next (Май 15, 2022 21:34:33)
Офлайн
from datetime import datetime import random as rd def get_user_answer(): while True: try: return int(input()) except: pass def get_rand_addition(): a, b = rd.choices(range(1, 10), k=2) return '+', a, b, a + b def get_rand_subtraction(): a, b = rd.choices(range(1, 10), k=2) return '-', a, b, a - b def solve_exercise(count, exercise_type): num_right_answer = 0 exercises = {'+': get_rand_addition, '-': get_rand_subtraction} time_start = datetime.now() for _ in range(count): data = exercises[exercise_type]() print('{} {} {} = '.format(data[1], data[0], data[2]), end='') if get_user_answer() == data[3]: print('верно!') num_right_answer += 1 else: print(f'неверно {data[3]}') time_end = datetime.now() return num_right_answer, time_end - time_start def get_exercise_count(): while True: try: n = int(input('сколько примеров решить?\n>>>')) if n > 0: return n else: print('минимум 1') except: print('должно быть целое число больше нуля') def get_exercise_type(): while True: s = input('выберите тип примеров: + | -\n>>>') if s in ['+', '-']: return s else: print('должно быть + или -') def ask_continue(): while True: s = input('решать еще раз? y|n\n>>>').lower() if s == 'y': return True elif s == 'n': return False def main(): print('калькуляция на время') run = True while run: count_ex = get_exercise_count() type_ex = get_exercise_type() num_right_answer, time = solve_exercise(count_ex, type_ex) print(f'правильных ответов {num_right_answer} из {count_ex}, время выполнения {time}') run = ask_continue() print('Goodbye') if __name__ == '__main__': main()
Офлайн
xam1816
Вот тут уже значительно более грамотная и лаконичная реализация, да. Чувствуется опыт. Спасибо. Что-то подобное я себе и представлял, только написать не успел. Есть пара огрехов, в частности get_user_answer() принимает любую абракадабру пока не удастся интовать ввод, хотелось бы чтоб как у меня: или цифры или если пустая строка, то “пропустить пример нельзя”, или ответ неверный. get_rand_subtraction() не отслеживает, меньше ли вычитаемое или нет, т.е. иногда ответ даёт минус а это уже в 5-х классах проходят вроде. Ну и нет / и *, но суть я понял, допилю всё уже сам, с вашего позволения
m0nte-cr1st0
Можно для main сделать словарь с функциями под каждый блок.
xam1816Я так понимаю это оно и есть.exercises = {'+': get_rand_addition, '-': get_rand_subtraction}
Отредактировано Palrom (Май 16, 2022 10:43:22)
Офлайн
py.user.nextНу Microsoft в последнее время больше ломает, чем строит, увы. Даже базовые вещи, которые ещё с 98-ой прекрасно работали. Переключение раскладки клавиатуры стало бесячим и глючным в последних версиях 10-ки. И ничего с этим не сделать. Меню настроек раздвоилось, мало было панели управления, так зачем-то прикрутили ещё одно меню в стиле говно-метро, которое по большому счёту тупо дублирует все настройки из первой, но имеет и очень нелогично расположенные важные настройки.. Я и так уже в последнее время сижу только на LTSC да B, куда всякой ненужной требухи не пихают особо, но даже и она теперь перегружена и жрёт то диск то оперативу.. Переход на Линукс был вопросом времени, и оно видимо настало.
И процессор она жрёт, и память, и диск забивает
py.user.nextВот у меня вопрос, раз уж тема затронута. Можно как-то раз и навсегда разрешить superuser'а а не вбивать без конца через sudo и пароли вводить? А то меня вьетнамские флешбеки стали накрывать, я помню как я с самсунговскими и хуавеевскими планшетами и телефонами боролся..
То есть Linux это такой конструктор.
Офлайн
Palromда, тут смысл в том, что в функции get_user_answer() можешь менять условия как хочешь, только на выходе данные должны быть числом int, так же как и в get_rand_subtraction() внутри функции делай что хочешь, только верни данные в виде (знак, первое_число, второе_число, результат_операции), так как эти данные ждут от функции в коде как договоренность.
Есть пара огрехов, в частности get_user_answer() принимает любую абракадабру пока не удастся интовать ввод,
Офлайн
PalromИспользуй
Можно как-то раз и навсегда разрешить superuser'а а не вбивать без конца через sudo и пароли вводить?
sudo -s
[guest@localhost ~]$ ls -l /dev/tty0
crw--w----. 1 root tty 4, 0 май 16 19:20 /dev/tty0
[guest@localhost ~]$
Офлайн