Вы видите копию треда, сохраненную 8 марта 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий >>1563834 (OP)
ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 года
Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK <-- похоже ссылка больше не работает, а жаль
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Ради неё держать ссылку в шапке неразумно.
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.
Стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
А что ещё можно читать? - Питон сам по себе очень хорошо задокументирован, и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги. - МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? - очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.
В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
https://dumpz.org/b37erFzCnRmW
По этой ссылке исходник шапки. Если кто готов из неё сделать что-нибудь такое, чтобы тни смотрели и мокли, а остальные слезали с джав и вкатывались в питон - You are welcome!
Допустим, есть логическая конструкция, которая должна выполняться, если переменная будет иметь несколько значений (допустим, 1, 3 и 5). Есть ли способ записать такое условие проще, чем перечислять условия навроде: x == 1 or x == 3 or x == 5? По наитию попробовал написать x == 1, 3, 5 и x == (1 or 3 or 5) - ни то не другое не работает. Мой первый вариант - единственный рабочий адекватный способ?
и словари ещё можно.
Все итерируеиое.
Гуд джоб, Анон.
Насчёт одной книги в шапке - видимо никого нет из владельцев крупных хранилищ книг, т.к. ее никто никуда не добавил.
Видать придется пилить новое свое хранилище и поддерживать его.
хтмл:
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">Отправить</button>
</form>
Контроллер:
if "file" in flask.request.files:
..f = flask.request.files["file"]
..bs = f.read()
..f.close()
Спасибо
Заехал в тред на ньюфажий угол.
В общем дрочу себе черепашку, по практикуму курса из шапки и дошел вот до задания с правильными многоугольниками. Никак не доеду, как мне добавить угол, что бы все они получились как на пикрл 1., у меня выходит пик 2.
Пробовал по всякому, но сейчас мне уже как-то настоебало, листинг пик 3. Кто знает/просто хочет помочь, просветите, в долгу не останусь, с меня нихуя
ну ты говна наворотил, я тоже по этой хуйне учился, вот нашел свой говнокод
>>70072
Вот мой код, я считаю, нужно было использовать только то, что было дано в методичке. да, названия в кэмэлкэйзе и я присваиваю делаю странную хуйню с переменными в функции, я был молод, так делать не надо
https://pastebin.com/NVvLV9GP
Ты там норкотой закинулся и думаешь, что ты в начале 80-х?
мимо
Гуй на питоне пишут редко. Найти иде для питоне, где из коробки есть Qt Designer или его аналог, ты вряд ли сможешь, придётся всё прикручивать самому. Просто и быстро не будет точно.
Можно вручную создавать формы через PyQt или Tkinter. Кода придётся писать много, но простое приложение сделать сравнительно несложно.
А проще и быстрее делать на плюсах или шарпе. Но они сами по себе намного сложнее питона.
У меня есть класс A,
При создании объекта я передаю туда имя файла
b = A(2ch.hk)
Как переопределить магический метод таким образом, чтобы можно было итерироваться по объекту и выводить информацию, которая есть в файле построчно?
for _ in b:
--print(_)
>сап двач
>мать ебал
Если у тебя функционал класса ограничивается этим, то проще вместо класса сделать функцию, котора принимает имя файла и через yield выдает строки.
Если же нужен класс, то в __iter__ делаешь что-то вроде self.file.seek(0), в __next__ делаешь self.file.readline() и возвращаешь или строку или StopIteration.
n = int(input())
for i in range(0,n):
____lst = list(map(int, input().split()))
____lst.sort()
____ print(lst[1], end = ' ')
Интересует определение lst. Он берет на вход информацию из инпута в виде целых чисел, дальше выполняется split, потом map, потом это все заворачивается в список, так? А что именно тут делает сплит и мап?
input() - на выходе дает строку (тип str), то есть там будет что-то вроде '24 2 10 11'
str.split() - берет строку и разбивает по пробелам, получая список
'24 2 10 11' -> ['24', '2', '10', '11']
map(f, l) - берет f и для каждого элемента x из l применяет f(x), здесь map(int, ['24', '2', '10', '11']) тоже самое что и:
int('24'), int('2'), int('10'), int('11')
Но map возвращает не список, а специальный объект, поэтому его превращают в список list
Получать один кусок данных из бд(монгодб) и сортировать его через пайтон.
Или сразу получать несколько но уже отсортированных кусков данных из бд.
Запусти профилировщик и посмотри. Вангую, что сортировка в питоне будет жрать памяти немерено.
Кстати, монгодб уже умеет не загружать всю базу в оперативную память при восстановлении после некорректного завершения работы?
def __iter__(self):
__with open(self.filepath) as f:
____for line in f.read().splitlines():
______yield line
Есть желание выучить python. Вернее мне предложили это сделать на работе. Но навыки программирования у меня следующие:
1)Писал что-то для микроконтроллера на си в универе. Писал криво, без каких-либо правил программирования
2) писал скрипты и макросы для эксель
3) написал сайт в универе, который хранил логины и пароли в SQL
4) написал табличку в борлэнд с++ билдер на ~250 строк кода.
То есть мне нужно обучаться почти с самого нуля в целом программированию, а не только пайтону. И это вводит меня в ступор. Все ссылки выглядят так будто они уже для тех, кто знает программирование.
Я правильно понимаю, что лекции от мфти будет идеальным вариантом для начала вкатывания? Или лучше какую-нибудь книжку.
И где брать практику.
Подскажите, плиз, что с этой ебаниной делать? Бесит ужасно, но всегда проёбываю , что я сделал перед ней и потому не знаю из-за чего это и как фиксить
М... Вызвать?
Наверное, ты принтишь саму функцию вместо того, чтобы её вызвать и принтить результат.
Спасибо, на будущее запомню
>выучить python
Что именно ты под этим подразумеваешь? Веб-разработка, фуллстак, машин лернинг, шкрепты для автоматизации какой-нибудь хуйни на работе?
не лезь блять, дебил сука ебаный. ты чо хуел, я те сказали чтоли. залесь нахрен нахуй обратно блять! Дебил бляять.
ОНА ТЕБЯ СОЖРЁТ, БЛЯТЬ! НАХУЙ ТЫ..
ААААААААА
БЛЯЯЯТЬ! СС
ЁЁЁЁЁ
СУКА! ЕБАН (АААААААААА)
(кряхтя) блиять
ААААААААААААААААААААААААААА
ДА БЛЯЯЯЯЯЯТЬ СУКА
ахахах мемы))
Я молод, у меня все в порядке с математикой (знаю хорошо ТОЭ, ТАУ, думаю выучить что-то еще не составит труда, у меня есть желание заниматься чем-то сложным, но хоть на 5% интересным, я думаю, что я буду хорошим и уникальным специалистом если совместить мои знания технологии с навыками работы нейросетей.
Но если опишешь подводных медведец то буду рад
Так а зачем тебе питон тогда? Если ты знаешь математику и хочешь чем-то интересным с нейросетями заниматься, тебе скорее нужны алгоритмы и плюсы.
В компании уже с python'ом работают. Да и , вроде, все курсы онлайн школ, что я видел на нем учат с нейросетями работать.
Я хочу к этим курсам подготовиться
Плюс моя математика не отличная, просто лучше, чем у рядового выпускника тех. вуза по моей специальности. Я же не на примате учился и не в MIT.
Ну я не против начать изучать программирование с азов. Но только не стой скоростью, что предлагают всякие скиллбоксы. Начать я могу и с самообучения, а уже потом думаю взять курс на нетологии по машинному обучению
Спасибо, анон
Как придётся, никогда не заморачивался с этим. Открыл как-то картинку, где было изображено правильное положение пальцев в десятипальцевом, попробовал, не осилил, закрыл.
Вот бы хоть один из этих "методов правильного печатания" помогал быстрее переучиваться с одной клавиатуры на другую.
result = []
lst1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,....,365]
lst2 = [5,10,15,.......]
result = [
((1+2+3+4+5+6+7)/5),
((8+9+10+11+12+13+14)/10),
........
]
Как это сделать?
Бежать по первому списку циклом с шагом 7, брать от текущего элемента слайс из 7 элементов и делить на нужный элемент второго списка
Например, так:
j = 0
for i in range(0, len(lst1), 7):
..result.append(sum(lst1[i:i+7]) / lst2[j])
..j += 1
ЁБАНЫЙ ЗАПРОС НЕ РАБОТАЛ ИЗ-ЗА ССАНОЙ ЗАПЯТОЙ БЛЯТЬ ПИЗДЕЦ
СУКА
У меня как придётся получается 25 слов в минуту, во всяких туториалах не успеваю, за ютуберами, догоняю, пока они пиздят.
>>71097
Посмотрел, реально удобнее выглядит, но надо ещё, наверное, скобки куда-нибудь на левую руку перенести
>>71113
sqlite3? Подавал туда одну переменную, вместо кортежа? Мне хватило минут 15 чтобы понять в чём проблема
> Подавал туда одну переменную, вместо кортежа?
Ага.
Надо '''запрос, (a,)''' вместо '''запрос, (a)'''.
Это не ссаная запятая, это разные типы данных.
Не, я про символ возврата каретки. Короче, кроме замены \n попробуй ещё сделать replace('\r', ' ')
От души, братишка.
Хочу почитать, так бы банду четырех почитал бы, но время ограниченно
Спс, сработало )
ясно, это пиздец
Ты берешь один объект списка [1,2,3] и два раза ложишь ссылку на него в список a. Потом этот объект меняешь.
Клево объяснил, спасибо
Питонист слабее тигра и льва, но в цирке не выступает.
Тестирование автоматизированное
https://www.youtube.com/watch?v=lgGkBh8IUok
Списал код, а он не пашет, это вообще нормальная ситуация в программировании?
Полный 0 в программировании пытается пиздить чужой код
Код забыл!
import requests
import csv
from bs4 import BeautifulSoup as bs
headers={'accept': '/',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10 14 2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
base_url='https://hh.ru/search/vacancy?area=1&search_period=3&text=python&page=0'
def hh_parse(base_url, headers):
jobs=[]
urls=[]
urls.append(base_url)
session=requests.Session()
request=session.get(base_url, headers=headers)
if request.status_code == 200:
request = session.get(base_url, headers=headers)
soup = bs(request.content, 'lxml')
try:
pagination = soup.find_all('a', attrs={'data-qa': 'pager-page'})
count = int(pagination[-1].text)
for i in range(count):
url = f'https://hh.ru/search/vacancy?area=1&search_period=3&text=python&page={i}'
if url not in urls:
urls.append(url)
except:
pass
for url in urls:
request = session.get(url, headers=headers)
soup = bs(request.content, 'lxml')
divs = soup.find_all('div', attrs={'class': 'vacancy-serp-item'})
for div in divs:
try:
title = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-title'}).text
href = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-title'})['href']
company = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-employer'}).text
text1=div.find('div', attrs={'data-qa': 'vacancy-serp__vacancy_snippet_responsibility'}).text
text2=div.find('div', attrs={'data-qa': 'vacancy-serp__vacancy_snippet_requirement'}).text
content = text1 + ' ' + text2
jobs.append({
'title': title,
'href': href,
'company': company,
'content': content
})
except:
pass
print(len(jobs))
else:
print('ERROR or Done' + str(request.status_code))
return jobs
def files_writer(jobs):
with open('parsed_jobs.csv', 'w') as file:
a_pen = csv.writer(file)
a_pen.writerow(('Название вакансии', 'URL', 'Название компании', 'Описание'))
for job in jobs:
a_pen.writerow((job['title'], job['href'], job['company'], job['content']))
jobs = hh_parse(base_url, headers)
files_writer(jobs)
Полный 0 в программировании пытается пиздить чужой код
Код забыл!
import requests
import csv
from bs4 import BeautifulSoup as bs
headers={'accept': '/',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10 14 2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
base_url='https://hh.ru/search/vacancy?area=1&search_period=3&text=python&page=0'
def hh_parse(base_url, headers):
jobs=[]
urls=[]
urls.append(base_url)
session=requests.Session()
request=session.get(base_url, headers=headers)
if request.status_code == 200:
request = session.get(base_url, headers=headers)
soup = bs(request.content, 'lxml')
try:
pagination = soup.find_all('a', attrs={'data-qa': 'pager-page'})
count = int(pagination[-1].text)
for i in range(count):
url = f'https://hh.ru/search/vacancy?area=1&search_period=3&text=python&page={i}'
if url not in urls:
urls.append(url)
except:
pass
for url in urls:
request = session.get(url, headers=headers)
soup = bs(request.content, 'lxml')
divs = soup.find_all('div', attrs={'class': 'vacancy-serp-item'})
for div in divs:
try:
title = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-title'}).text
href = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-title'})['href']
company = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-employer'}).text
text1=div.find('div', attrs={'data-qa': 'vacancy-serp__vacancy_snippet_responsibility'}).text
text2=div.find('div', attrs={'data-qa': 'vacancy-serp__vacancy_snippet_requirement'}).text
content = text1 + ' ' + text2
jobs.append({
'title': title,
'href': href,
'company': company,
'content': content
})
except:
pass
print(len(jobs))
else:
print('ERROR or Done' + str(request.status_code))
return jobs
def files_writer(jobs):
with open('parsed_jobs.csv', 'w') as file:
a_pen = csv.writer(file)
a_pen.writerow(('Название вакансии', 'URL', 'Название компании', 'Описание'))
for job in jobs:
a_pen.writerow((job['title'], job['href'], job['company'], job['content']))
jobs = hh_parse(base_url, headers)
files_writer(jobs)
Полный 0 в программировании пытается пиздить чужой код
И что ты хочешь чтобы мы сделали? Покормили тебя с ложечки?
Не списывай просто, пока хуй в видосе печатает, ты тоже печатай. Когда он будет пробовать, как работают куски его программы ты тоже пробуй, короче, делай, всё что он делает.
Хорошо, спасибо, попробую
Множество как и словарь по своему условию потребляет больше памяти чем другие типы данных, но у тебя очевидный косяк.
input_characters = set()
for sent in input_texts:
____input_sentlist = sent.split(' ')
____for word in input_sentlist:
________if word not in input_characters:
____________input_characters.add(word)
input_characters = {}
for sent in input_texts:
____input_sentlist = sent.split(' ')
____for word in input_sentlist:
________input_characters[word] = True
input_characters = input_characters.keys()
попробуй вот так, должно меньше кушоть
На 3% быстрее.
yesButton=Button(frameButtons12, text="Rename", command=BSave(entryRe))
Если я заместо nName подставляю какую-то определённую строку, то код выполняется. Но когда я оставляю там переменную, которая должна браться из поля ввода entry
nName = entryRe.get()
то выскакивает ошибка
FileNotFoundError: [WinError 3] Системе не удается найти указанный путь: 'New_Text_3' -> ''
Да, как бы там действительно пусто и я понимаю, почему система не может записать файл с нулевым названием. Но я не понимаю, почему программа заранее считает что в поле ввода entry пусто, ведь команда os.rename идёт уже после получения содержимого поля entryRe
nName = entryRe.get()
os.rename(name,nName)
Следовательно сперва должно идти получение содержимого а уже потом переименование
Полный код
https://pastebin.com/tHa6QLDm
Я хочу, чтобы по оси у была указана частота в процентах, сколько у меня встречается это значение, а по оси х - сам показатель, как на первом пикрелейтеде.
А выходит у меня второй пикрелейтед, что являет собой полную хуету.
Код: https://pastebin.com/UNX3wuNs
Аноны, как вы увидели, эта ссылка не работает https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK
Возможно есть другая ссылка на такой же диск, что был по этой? Поскольку по этой ссылке было больше всего книг, не хотелось бы терять такой замечательный диск.
Забей на рутрекере "python pdf" и получишь точно такой же замечательный диск.
как выполнить такой запрос через sqlalchemy?
делаю так:
db.session.query(Info.song_name).get(1)
выдает:
sqlalchemy.exc.InvalidRequestError: get() can only be used against a single mapped class.
euros_per_dollars = 100 1.25
dollars_per_rubles = euros_per_dollars 60
print(euros_per_dollars\ndollars_per_euros)
Как при помощи \n перенести строку между переменными ?
Сап, как крякнуть pycharm про, если 30 дней триала прошло? В инструкции написано зайти в "Configure" или "Help" и зайти в "Edit Custom VM Options..."
А я не могу туда зайти, из-за того что триалка кончилась
все, фиксанул, сорян
Что значит не проходили? У вас в школе для даунов запрещено брать информацию с интернета? Лол
А всё нашел сорян эта поебота только внутри ковычек
на торрентах без триала крякается, для линухи и для венды есть
Я нашёл только принципы как это работает и небольшие примеры. А мне нужно создание полноценного сервиса, ибо я полный ноль в этом, к тому же время сильно ограничено. Поэтому тут и спросил, мб кто знает.
незя и ваще это то же не работает я ужу сделал даунским методом
как вариант глянуть в книге django by example или там best practics
Точнее способом
Это всё каадратно-гнездовой способ преподавания людьми, которые ни дня не работали программистами, но зато "уважаемые профессора, которые преподают больше 50 лет".
Ребят, подскажите, плиз больше сайтов с задачками, желательно чтобы был раздел с элементарными. Ебусь с обработками массивов по два дня, хочу надрочиться на лайтовых задачках чтобы легче телега ехала
ну списки ёпта какая разница то =) одна хуйня
Вопрос в том, как мне запиздрячить на страничку свой питоновский код?
Иными словами, хочу поднять на нжинксе страничку, где будет кнопка, например "зделоть пиздато". По нажатии на кнопку запускается мой питоновский скрипт, и юзер получает результат, например выводится сообщение "зделоно".
В идеале мне нужно будет подучить жс, чтобы вывести кнопки к себе на страничку, но в целом, я даже хз, куда копать, что смотреть, какие гайды брать?
nginx - это по большей части либо раздача статического контента (то есть никакого бекенда с логикой), либо прокси, то есть пересылка всех запросов на другой порт, на котором запущено приложение.
Можно, конечно. Есть даже какие-то плагины.
А ещё можно вообще без отдельного сервера обойтись и всё сделать на питоне.
>>72041
Вот я и прошу помощи. Если можно сделать на фласке - есть ли годный гайд, как это все организовать? Особенно по сетевой части, а то я вообще в этом не разбираюсь. Мне вот в нашей корпоративной локалке выдали домен - vpupkin.ln, я смогу на нем захостить свое приложение? Я просто думал, что это ток через веб сервер можно сделать, там резолв просто организуется.
Почитай по фласку пару туториалов каких-нибудь. Там можно на определённый URL (например, /) повесить функцию-обработчик, в которой можно вызвать твой скрипт, например.
Фласк сам по себе веб-сервером не является, но с ним идёт сервер для разработки/отладки. Его всерьёз использовать не рекомендуется, но вдруг для нужд вашей организации хватит.
Просто повесить в автозапуск скрипт, он будет слушать какой-нибудь порт и вызывать обработчик.
А ещё можно использовать cgi, но там всё несколько сложнее, да и в 2020 никто так не делает.
Ну или даже не фласк, а bottle.
Хостишь приложение не на домене, а на сервере. Для адреса vpupkin.ln необходимо в A записи указать ip адрес сервера на котором будет твое приложение.
Серьезно? Индиана Джонс 3.
А что такое А запись?
>ip адрес сервера
Это адрес моего компа в нашей локалке, получается? Доступ к аппликухе будет только из-под нашей локалки.
Можно с фласком на replit поиграть и понять подойдет или нет
https://repl.it/repls/MindlessFoolhardyDaemons
>А-запись указывает адрес, куда должен ссылаться Ваш домен. Обычно это адрес хостинг-сервера, на котором располагается контент (содержимое) сайта.
>Это адрес моего компа в нашей локалке, получается?
Если приложение будет на твоем компе запускатся то да, но возможно нужно будет какие-нибудь порты пробросить. Если я ошибаюсь пусть мудрый анон меня поправит
- db.session.query(Info.song_name).filter(Info.id == 1).one()
для sql запроса через alchemy это единственный короткий способ?
Когда пишу Info.query(Info.song_name).filter(Info.id == 1).one() то арёт на TypeError: 'BaseQuery' object is not callable
И стоит ли пользоваться select'ом на чистом sql запрашивать когда есть обертка sqlalchemy
Бамп
Вангую у тебя было задание по конкатенации строк и тебе надо было
Str1 + '\n' + str2 но ты попал под троллинг
Все так, я почему то забываю про кавычки все время. Книга эта конечно пиздец "Изучаем питон", сначала две три страницы "отборных" данных и прочих примеров, а потом -"Ну если вы новичок можете не акцентировать на этом внимание"
В этом плане курсы героиновые https://ru.code-basics.com/ подиничамичнее, поэтому я комбинирую.
Я лично щитаю, что нужно сначала пройти укус питона, получить знания синтаксиса, а потом зная синтаксис сразу в курс хирьянова по алгоритмам, там практики дохуя, как раз надрочишься.
А лутц хуета.
Этого чела когда начал сразу кинул в избранное, нихуя не понятно но ясно что пригодится
Нужно что-то проинициализировать, а уже потом присваивать
имя = None
Если пишешь код, который будут читать другие люди то с таким подходом захуячить нужно тебя, то конечно нужно сделать несколько коротких легкочитаемых методов. А еще лучше нати готовое решение для валидации.
Алгоритмы на Python 3. Лекция №1
Это одно и то же ??? Что выбрать ? Есть кто уже Хирьянова смотрел ?
Ты смотрел или на слово сбайтился ? дело в том что это один и тот ж курс прост названия разные прост один новее (вроде так)
Бля у этих лекций даже одна и та же практика. Твои действия ? Хочешь сказать разница только в риторике ?
Блядь, ты заебал, какого хуя ты такой тормозной? Не одна у них практика нихуя, я специально зашел, чтобы ещё раз посмотреть. В КУРСЕ ПРАКТИКА ПРОГРАММИРОВАНИЯ НЕТ АЛГОРИТМОВ. В КУРСЕ ПО АЛГОРИТМАМ НЕТ ПРО ГИТ, ПРО ПЕП, ПРО ТЕСТИРОВАНИЕ, МЕНЬШЕ ПРО ООП. Это тупо разные курсы. Может программирование это не твоё, если ты не можешь просто покликать по видосам в разных местах и посмотреть что там?
>это же уже некоторое состояние
Да. Но обычно стейтлесс говорят про приложение. Это означает, что любой запрос может быть обработан любым сервером. Т.е. состояние вынесено наружу приложения, например, в бд. Например, сессию хранишь ты в jwt, а его юзеру записываешь в куки, запускаешь 10 копий приложения и теперь сессию берешь из каждого реквеста, т.е. у тебя в приложухе нет состояния сессии, которое надо поддерживать.
Даже Keep-Alive-соединения - это уже atateful в каком-то смысле.
Стейтфул изначально подразумевает архитектуру вида "подключился - отправил один или более запросов, получил на каждый ответ - отключился", причём построено всё так, что в общем случае нельзя отправить все запросы в новых подключениях (сессиях), всё обязательно должно идти через одно. Например, FTP или SSH.
Стейтлесс же наоборот говорит: можете отправлять запросы в одном подключении, можете в разных, но результат от этого зависеть не должен. В результате, состояние не связывается с конкретным соединением, а гоняется туда-сюда при каждом подключении, как куки.
>Т.е. состояние вынесено наружу приложения, например, в бд.
То есть если есть какая-то база данных, к которой все сервера обращаются, то это всё равно stateless приложение?
Как я понимаю, сам jwt нужен, чтобы избежать хранения сессий в такой базе данных, но с защитой от брутфорса так не получится, клиент не будет ничего хранить.
Спасибо за информацию, с тебя инфы хуй дождешься. Не рили спс не нервничай, теперь можно и покумекать что выбрать кек пук.
Но ведь браузеры на каждый запрос делают новое соединение, тогда получается, что в вебе всё stateless? Или тогда правильно сказать, что сам http протокол stateless, но серверное приложение само по себе может сохранять состояние, а может нет и при этом сохранение состояния в бд != сохранение состояния у приложения...
>То есть если есть какая-то база данных, к которой все сервера обращаются, то это всё равно stateless приложение?
Конечно. Суть в том, что конкретный процесс твоего конкретного приложения не имеет внутреннего состояния, от которого завит обработка запроса. Если он это состояния при каждом запросе берет из постороннего сервиса, то это не делает его стейтфул, а наоборот как раз.
>Как я понимаю, сам jwt нужен, чтобы избежать хранения сессий в такой базе данных, но с защитой от брутфорса так не получится, клиент не будет ничего хранить.
Jwt нужен чтобы хранить сессию на стороне клиента. Да вообще в данном контексте это не важно, главное что ты хранишь состояние не в своем приложении, а снаружи.
Не обязательно новое, см. Keep-Alive.
Stateless говорится про протокол HTTP, приложение практически никогда не бывает stateless (кроме простейших случаев, где что-нибудь налету считается и сразу возвращается пользователю).
>приложение практически никогда не бывает stateless
Да ну ты чего, наоборот же, практически всегда делают стейтлесс приложения, уж в вебе то точно. Иначе очень трудно масштабировать.
Ну, стейтлесс оно может быть в плане того, что не хранит дополнительную информацию в ОЗУ. Но оно же всё равно грузит кучу данных из БД и иногда из файлов. Хотя это скорее философский вопрос, считать ли это частью приложения, или приложение - это чисто логика.
from bokeh.plotting import figure, show, output_file, output_notebook
import bokeh
Типо они по разному жрут память?
Есть таблица "Финансовая операция". Операция может быть на положительную или отрицательную сумму, пополнение или списание средств. Для этой операции должна быть причина. Вот собственно вопрос, как должна выглядеть и чем вообще быть эта таблица "причина".
import jopa
Импортирует библиотеку с ее неймспейсами. Т.е. вызов метода govno будет выглядеть как jopa.govno()
from jopa import govno
Импортирует только метод govno в неймспейс проекта, т.е. этот метод ты можешь вызывать просто govno()
from jopa import (звездочка блять)
Импортирует все из библиотеки в неймспейс проекта, т.е. ты можешь вызвать какой-нибудь fart(), которого в твоем проекте нет, но есть в той библиотеке
Будет лучше, если на самом деле разбирающиеся аноны меня поправят и дадут более четкий ответ
Может сделать таблицу с Generic Foreign Key и привязывать к разным таблицам-причинам?
Я знаю что различие в сокращенном варианте написания. Будет меньше писанины. Но меня интересует вопрос ресурсопотребления.
Есть ли разница или нет?
Просто я как ньюфаг, считаю что мне нужно прописывать полные пути к функциям. А в примерах постоянно импортируют методы и я путаюсь.
Эти циферы что означают? Ячейка памяти?
import threading
import requests
def dos():
while True:
requests.get("http://example.com")
while True:
threading.Thread(target=dos).start()
Не делайте так, пацаны, вы погрязните в этой хуете, если вы никаких нормальных курсов по фронту не проходили, вы проебете просто десятки часов дрочась методом тыка, пока не будет красиво.
Лучше сделайте супер рест эйпиай, чисто в консоли без фронта, как в демке в этом выступлении https://youtu.be/pZYRC8IbCwk
Ну прямо вот так особо не получится, но по сути да. Вот так ещё лучше.
Я так уничтожил ядерную программу Ирана.
Попробуй заодно slow headers.
Во что можно вкатиться с питоном, кроме веба, системного администратора и DS/ML?
0x обозначает, что дальше идут цифры в 16-ой системе счисления, at - вероятно о памяти.
Не обращайтесь к атрибутам
Ещё один механизм, способный замедлить программу — это оператор точка (.), который используется для доступа к атрибутам объектов. Этот оператор вызывает выполнение процедуры поиска по словарю с использованием __getattribute__, что создаёт дополнительную нагрузку на систему. Как ограничить влияние этой особенности Python на производительность?
# Медленно:
import re
def slow_func():
for i in range(10000):
re.findall(regex, line) # Медленно!
# Быстро:
from re import findall
def fast_func():
for i in range(10000):
findall(regex, line) # Быстрее!
Что ж, некоторые и под мобилки, и тырпрайз пишут на питоне. Но слишком некоторые.
Если с ориентацией на рынок, то ни во что кроме обозначенного тобою, при том веб намного приоритетнее.
Писать на питоне с оглядкой на производительность - пидорская тема. На питоне нужно писать читабельный код, близкий к английскому тексту. Если все работает и хочется быстрее, тогда уже запускаешь профилировщики и переписываешь проблемные методы на сишечке. Оператор точка им, блядь, тормозит. Пиздец просто.
По какой причине любые дескрипторы надо объявлять как атрибуты класса? Почему если я буду ставить дескрипторы скажем внутри метода __init__ они не будут работать? Что за пидорство?
Наш ответ Чемберлену: https://tjournal.ru/flood/70906-navalnyy-reshil-nauchitsya-programmirovaniyu-na-python-poka-nahoditsya-pod-arestom
А ещё есть это: https://life.ru/p/118196
Смотря какой бек. Если примитивный круд, можно обмазаться ORM и вообще не знать скл.
Нужно знать про типы данных и индексы, что/куда/почему.
Еще было бы неплохо про транзакции и прочее БД-специфичное иметь представление.
Ну пиздец, теперь питон запретят.
Потому же, почему и GIL.
Да
Мне "погружение" зашло после официального туториала у последнего есть старый, но более-менее актуальный перевод: https://ru.wikibooks.org/wiki/Python/Учебник_Python_3.1
Быдлокожу именно на Змее уже почти год. Подумал, будет полезным подрочить системное программирование на нем (пусть оно и более каличное чем на любой низкоуровневой ебале вроде того же С)
Пишешь вирус, собираешь в py2win. Profit.
Есть обёртки WinAPI/POSIX API для питона. Можно написать какой-нибудь системный сервис. Что-то более низкоуровневое получится вряд ли.
Потому что Гвидо не осилил даже ast-парсер, а с тех пор всем стало похуй. Если тебя ебёт скорость, тебе не нужен питон.
def inta():
a = 1
print(a)
def intb():
b = 2
print(b)
>>inta() == intb()
1
2
True
>>
Не имеет значения, что ты принтишь в функции, важно только возвращаемое значение. Ты ничего не возвращаешь, то есть неявно возвращаешь None. None, очевидно, равен None.
Твои функции печатают единицу и двойку, но ничего не возвращают. Поэтому == сравнивает два None
Лол. Можно было и догадаться. Мне просто мысль пришла что я могу так сравнивать содержимое самой функции, идентичны ли они.
Такое сравнение было бы без скобок:
inta == intb
Но это сравнит ссылки на функции, но не их код. Простого способа сравнить код нет.
пусть декоратор
. def decor(func):
. def wrapper():
. print('govno')
. func()
. print('mocha')
. return wrapper
и есть функция hello() которая выводит hello_world
и есть функция decor_hello, которая делает тоже самое но обернута в @decor
получается @decor каким то образом меняет код функции decor_hello и этот самый decor_hello вместо обычного hello_world выводит
>>decor_hello()
govno
hello_world
mocha
>>
Это значит что каким то образом, не знаю каким, @decor меняет код функции decor_hello и если бы у меня был способ сравнить код, пример
code_cmpr(hello, decor_hello)
он мне бы выдал False?
>>
Думал он мне нормально с точками отобразит отступы, но обосрался.
Ты хоть раз пробовал так делать?
Декораторы ничего не меняют. Они оборачивают вызов одних функций в другие. Что-то типа
f = decor(f)
Действительно, получилось в ручную так сделать, спасибо. Немного непривычно правда, зато понятно как декораторы работают. Получается вот зачем он wrapper() возвращает, чтобы потом его функцией оберткой и активировать.
>The Python runtime does not enforce function and variable type annotations. They can be used by third party tools such as type checkers, IDEs, linters, etc.
Не троллю, просто интересуюсь.
Документирование кода. Не нужно лезть в доки, достаточно глянуть на объявление функции.
Ты нихуя не понял.
Давнич ты. Я сравнивал не вызовы функций __call__, а сами функции как объекты. Как видишь, оператор == для функций не имеет смысла можно канешн сравнить f == f, но что конкретно ты захочешь этим получить я хз
да, запускаешь первый цикл в треде, добавляешь в него опрос переменной типа while not peremennaya:. А потом из второго цикла выставляешь peremennaya в 1, чтобы остановить первый цикл
Можешь при запуске скрипта1 создавать файл и в цикле проверять его наличие. Если файл удален, то завершаешь скрипт. В скрипте2 удаляешь этот файл если надо завершить скрипт1.
Увы, это все происходит на windows 7.
То есть, если происходит ошибка - то запускается определённая ветка if
Или что-нибудь вроде
if error == 'oshibka_1':
...
elif error == 'oshibka_2':
....
это если возвращаются функциями или ты их сам на генеришь в функции-методе, в которых надо обрабатывать.
или по сути примерно тоже самое, но с механизмом исключений try-except, он более мощный, но для более сложных случаев.
Подскажите как ее залить на сервер
Оно? https://www.jetbrains.com/help/pycharm/rename-refactorings.html
Первая ссылка в нигуглитсо
Не ну а хуля ты внатуре конечно бля на не русском бля делаешь уеба бля ? (Спасибо)
Напиши программу, которая будет вместо тебя окна писать.
ctrl + shift + r
Можешь взять PyQt и попробовать прикрутить Qt Designer, но хз, уживаются ли они вместе.
https://pastebin.com/zVeSikLG
на экране суде по всему всё хорошо, кодировка срабатывает, а вот в файл заливается то же что и было до. Т.е. без изменений.
>f.read().encode('cp1251').decode('cp1252')
Ты сначала кодируешь в 51, потом раскодируешь 52. По логике надо всё наоборот. С другой стороны ты уже расписал кодировки когда файлы открывал, так что я не уверен, что это вообще нужно. Хз короче, я у себя не пробовал.
Все начинаю догадываться ткинкер какой то ебаный насрал блеать
Ты скачиваешь, открываешь питонофайл с лабой, там функция есть, её меняешь так, чтобы робот выполнил что надо
Это понятно, просто не открывалась графика у меня не было tkinker
Ну это фриланс, а я нацелился на конкретную фирму. Я пробовал несколько раз вкатиться в фриланс, кстати, и всегда заканчивалось ничем.
pip show
че
from .models import Post
Что это значит?.. Модуля с именем .models нет нигде. Думал что это означает "из той же папки где находится этот скрипт обратись к файлу models.py и импортируй оттуда Post". Пробовал сделать так же в рандомном проекте - вылетает ошибка: ModuleNotFoundError: No module named '__main__.test111'; '__main__' is not a package
Это файл models из твоей директории. Когда делаешь импорт через точку, то импортируешь компоненты из файла своей директории. Например from .urls import urlpatterns
Все ж чотко обьяснил. Дописатор слов не работает. Он работает только на функции, операторы и всякое такое а раньше работал на любые слова(имена) если они повторялись. Можт как настройки можно сбросить к стандартным или чото типо этого
Да забей, ты быстрее переустановишь и настроишь всё заново, чем кто-то тут тебе поможет.
Погугли, где пайчарм хранит папку с настройками, и удали её, либо сохрани в другом месте.
Только почему у меня такой импорт не прокатил?
а как ее сменить?
Вот по code completion
If code completion doesn't work, this may be due to one of the following reasons:
The Power Save Mode is on (File | Power Save Mode). Turning it on minimizes power consumption of your laptop by eliminating the background operations, including error highlighting, on-the-fly inspections, and code completion.
Your file doesn't reside in a content root, so it doesn't get the required class definitions and resources needed for code completion.
Refer to Configuring folders within a content root for more details.
A file containing classes and functions that you want to appear in completion suggestions list is marked as a plain text file.
External libraries that contain functions that you want to appear in the completion suggestions list are not added as dependencies or global libraries.
https://www.jetbrains.com/help/pycharm/auto-completing-code.html
мимо нуб
не подходит, у меня функции и всякое такое дописывает а имена перестало дописывать
ты про переменные? если они у тебя ранее не определены, определены внутри класса/функции или не импортированы, то дальше по коду они не будут автокомплитится.
вообще скриншот покажи, так проще будет.
>мимо нуб
А точно! Спс. А еще можешь помочь с роботом выше скрин ?
Насколько я помню, эта проверка на то, красил ли ты сам уже ячейку. Тебе нужно проверять верхнюю стену
Пиздец, спасибо
Ну можно переделать в while true и в конце, если стена справа то break. Но по сути как-то особо красиво переделать не получится
Наверное, чтобы обрабатывать определённые ошибки определённым образом? Или в чём вопрос?
Нихуя себе! Так можно было ! Анон спасибо, ты даже не представляешь как выручил.
Да да, я уже вспомнил, жаль што импорт там платный, мб есть фришное типо umbrello?
Есть конечно vertabelo.com но там нет генерации в питон
Хотя чет импорта в pynyorm и нет вроде
импорт sql и потом уже ER, наподобие vertabelo, и штоп в питон модели можно было, дада я губу раскатал
mov(r, v)Поместить значение v в регистр r
что это за ебола и как в этих заданиях про робота использовать
?
Какой вариант проще, создать сразу на версии 3 или 2 lts, или же попытаться запустить под 1.9 (что не получается)?
ПИЗДА!
При таком раскладе
./main/root/lala.py
./main/repository.py
Как мне в лала заимпортить репозиторий?
from main.repository import * не работает.
Охуительные ошибки которые вылазили 1.9 и 1.11 сами ушли
Пример кода на Си представлен здесь:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/accounting/psi.rst
В Линуксах начиная с 5.2 появилось улучшение подсистемы PSI, позволяющее определять превышение заданных метрик с использованием epoll().
Первым этапом прелагается вписать строку в дескриптор файла /proc/pressure/memory, и далее проводить опрос с помощью epoll().
На первом этапе возникает проблема.
Открываю дескриптор, получаю его номер, все ОК. Но при попытке записи предлагаемой строки получаю ошибку [Errno 22] Invalid argument. С сишным кодом проблем нет, все работает как задумано.
Код на питоне: https://pastebin.com/5Sj98iTQ
В чем ошибка? Как исправить?
на винде твой код работает. Только у тебя в коде 2 раза fd вместо fd1 упоминается + в моём модуле os нету os.O_NONBLOCK, а dir_fd=None вабще неизвестный судя-по всему аргумент
Ты немного не в тот тред зашел.
К МЛщикам иди.
У датасаентистов питон просто как инструмент, не более, думаю тебя спросят про научные либы питоновские и все.
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
move_right()
Заценщи какой я тупой, у меня или так или робот просто убегал за край карты
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
if not wall_is_on_the_right():
while not wall_is_on_the_right():
move_right()
if not wall_is_on_the_right():
fill_cell()
move_down()
if not wall_is_on_the_left():
while not wall_is_on_the_left():
move_left()
if not wall_is_on_the_left():
fill_cell()
move_down()
move_right()
Заценщи какой я тупой, у меня или так или робот просто убегал за край карты
спасибо
Мой код работает с произвольными файлами, но дает ошибку с /proc/pressure/memory.
поставил перевод в конце строки - все везде заработало
непонятно, там кароч сложность в том нужно как то повторить функицию нужное количестов раз по отделности, что бы между повтороми делать операцию
Да! Третья версия питона вообще огонь! Сейчас изучаю новую версию 3.4, говорят питон стал асинхронным, там появились корутины
Спасибо.
Теперь нубовопрос: есть несколько полей, у каждого из которых надо проверить заполнено или нет. Чтобы не писать по функции на каждое поле, надо использовать классы?
Необязательно, можешь написать одну функцию проверки и применять ее к каждому полю.
Т.е., например, есть поля EditLine1 и EditLine2, мы пишем что-то вроде:
def(self, x):
--val = self.x.toPlainText()
--if val is '':
...
Вместо x подставляем эдитлайны?
Если ты проверяешь поля по отдельности, то используешь эту функцию по событию onChanged или textChanged или что там у тебя. Если проверяешь все поля формы вместе, допустим, по нажатию кнопки, собираешь все нужные поля формы и в цикле передаешь значение каждого поля в функцию проверки. На чем ты эти формочки пишешь?
2. Документация по Джанге
3. Актуальная книжка по Джанге
Нормальный план чтобы освоить веб-разработку или перед вторым пунктом еще что-то почитать?
А можно хотя бы только один?
Ты читать книжки или писать код собираешься? Бери туториал по
джанге, и по ходу дела читай документацию по мере необходимости.
Так даже лучше. А то на том же реддите очередная волна читателей книжечек плачется, что программирование не дается.
Тутора достаточно будет чтобы хотя бы немного понять как самому делать веб-приложения?
Пока нихрена не понимаю зачем нужны эти views, models, urlconf.
А где практику приматам искать ? Не подскажете ? Кроме говнокурсов есть что ? А то там раз сделал и забыл.
Не понял, зачем искать практику, бери и пили что-нибудь.
Ты шо творишь, демон? Иди читай про функции, передачу значений в функции и локальные переменные.
Для этого туториалы и существуют, потыкаешь, поймешь что куда примерно писать, какой путь твой запрос проходит, будет хоть какая-то картина происходящего в голове, сможешь конкретные вопросы задавать, а тут мы тебе уже поможем, здесь все твои друзья.
Эта хуйня сработала кроме нижней строки где у. Но в самой функции у не переменная ? Как это называется что ето ? Оно как бы работает а как хуй его знает
>очередная волна читателей книжечек плачется, что программирование не дается
О таком обычно любители учиться по видосикам на ютюбчике плачутся.
>I started with Codecademy in 2016-ish when almost everything was still free. I have finished the Python modules of that as well as with SoloLearn. I have read Automate the Boring Stuff and Python Crash Course as well as following along with the examples cover to cover. Now I am re-reading Automate, Crash Course, and Mark Lutz Learning Python, 5th edition. To add to these books I have: Complete Guide For Python Programming Deep Learning with Python, Fluent Python, Learning Python Network Programming, Rapid GUI Programming with Python and Qt, Python High Performance Programming.
>I understand syntax, can usually fix an error and debug, but to actually sit down and program anything of any real value eludes me.
Ну вот человек курсы проходил, книги читал и даже перечитывал. И не может понять что не так.
>Starting to lose hope with learning Python
I have been interested in Python for over 7 months. I have read and followed along through Python Crash Course. I felt pretty confident with it. I wanted to learn more so I decided to start following along with Automate the Boring Stuff. Im starting to feel discouraged from learning, when it comes to writing code in the Practice Projects; I am 100% completely lost.
Вот второй такой же. Книжки, курсы. Так может лучше говнокодить тогда, чем книжки просто читать.
Он учился семь месяцев, и после этого он не мог осилить задания из боринг стаффа? Это блять шутка?
>I started with Codecademy
Начал с бесполезного дерьма, которое ничему не учит, и каждый новый курс объясняет одни и те же вещи, как будто я двенадцатилетний дебил, в первый раз увидевший компьютер.
>>78600
>Так может лучше говнокодить тогда, чем книжки просто читать
Так их и не надо просто читать. Естественно, что практике можно научиться только через практику. Но начинать надо с базы, которая берётся из книг. А потом уже книги используются, чтобы разобрать непонятные моменты. А курсы обычно по-быстрому дают основы, ничего не объясняют, и в конце говорят "всё, вы готовы", что вселяет в человека ложную уверенность.
Да они просто пожалели деньги на нормальное железо, сайт вообще не работает нихуя
ок спс
https://python-scripts.com/scope просвящайся (хз, насколько там хорошо объяснено, но там как раз про это).
В твоём случае нужно написать:
global x
над
x += 1
Пасибо
В то время как в JS и Lua локальность указывается вручную (иначе интерпретатор ищет переменную во внешних областях видимости), в питоне вручную указывается нелокальность (nonlocal и global).
ты всё равно что написал на JS:
function step() {
var x += 1
print(x)
}
Естественно, получишь UnboundLocalError: local variable 'x' referenced before assignment
чел да мне похуй я тут робота делаю
Какой JS какой функшн
РОБОТ БЛЯТЬ
Пусть найдёт как без глобалов сделать
Я тебе выше что написал?
> Иди читай про функции, передачу значений в функции и локальные переменные.
Почему не сделал? Считаешь, что такое должен двачик объяснять?
первый:
A = 1,2,3,4,5
B = q,w,e,r,t
второй:
A = 1,2,3,4,5
С = a,s,d,f,g
Я хочу получить следующее:
A = 1,2,3,4,5
B = q,w,e,r,t
С = a,s,d,f,g
Но через метод pandas.concat(frames)
получаю:
A = 1,2,3,4,5,1,2,3,4,5
B = q,w,e,r,t,NaN,NaN,NaN,NaN,NaN
С = NaN,NaN,NaN,NaN,NaNa,s,d,f,g
Весь день пытаюсь. Ниче не выходит. Помогите.
Всё. Нашел решение.
frames = [df1, df2]
result = pandas.merge(right=df1, left=df2, how="outer")
В реальных проектах может совмещаться orm и запросы на чистом sql? Или там выбирают только что-то одно?
Типо основную crud логику на орм написать, а что-то сложнее писать самому?
Алсо, вот у меня есть 300 строк питоновских функций с sql запросами внутри, мне надо их пытаться как-то в ооп стиле организовать? Выглядит сейчас это говняно, но я не уверен, что ооп много даст
Да, так делают.
pyqt5
ctrl+`
Да.
Мне примерно сорок лет понадобилось бы что бы догадаться до такого, я пытался 2 переменных сделать но вообще не так.
Я решал такую проблему чкрез класс + справочник, типа:
test_dict ={}
class VarClass:
def __init__(self, user_id):
self.user_id = user_id
self.hui = None
self.pizda = None
test = 'маня'
test2= 'id мани'
user = VarClass (test)
test_dict[test2]= user
def func1 (x):
user.hui = 1 + x
def func2(y):
user.hui = user.hui - 15
ВАЖНО: если перезапишешь класс в справочник, то данные проебутся
И кст если ты игру пишешь, то может с классом тебе даже удобнее будет хранить информацию о объектк
Осильте уже генераторы, что ли. Их же специально для этого придумали.
def step():
..x = 0
..while True:
....yield x
....x += 1
s = step()
next(s)
next(s)
спс
Ищи практику за так, интервьюируйся у них, а потом, когда перезвонят, скажи что уже нашёл за деньги.
>>79273
А что за сайт?
>>79287
>>79317
Собственно, эти скрины были к тому, что я год с полного нуля учился делать некоторые штуки с пистоном и алгоритмами, а теперь думаю, что зря потратил это время. Нужно было вротендом заниматься, в моем мухоебинске хоть какие-то вакансии для этого есть.
Блин, ещё и не в тот тред похоже написал, простите.
Понятно.
Тут уже высшая математика в ход идет братуха, ты пойми РОБОТ ДОЛЖЕН ДОЙТИ ДО КОНЦА БЛЕАДЬ
Вряд ли ты напрасно время потратил. Хотя лучше сам питон за год задрочил бы, чем алгоритмы.
При этом, если ты был полный ноль, то сейчас уже нет и все твои текущие знания не будет лишними при изучении жс, если уж решил на него перейти.
Ты берёшь каждый элемент первого списка и к нему подставляешь каждый элемент второго. А тебе нужен один цикл, чтобы брать по элементу из двух
а надо в правом нижнем
Все сделол
>Как реализовать это в PyCharm'е?
там всё реализовано по дефолту. И вабще, почему тебя этот вопрос волнует?
Хуже только литирали кал
это просто цикл
Я раньше работал с другими языками, потому и удивился, увидев такой подход к ограничению скоупа. Вспомнил клин код и у меня возник этот вопрос, ведь если кто-то другой будет использовать код, всё должно быть чисто в этом плане. Но раз в PyCharm'е с этим всё норм, то ладно. Пожалуй, изучу его получше, дабы таких вопросов не возникало. Спасибо.
https://www.jetbrains.com/pycharm/guide/playlists/42/
Что еще юзаете в чарме?
Только проблемы. Никаких табов нахуй.
Так ты ж весь файл в память читаешь, просто read() где-то отсекается и всё. Тебе надо читать файл блоками и подавать на хеширование
https://askdev.ru/q/poluchit-md5-hesh-bolshih-faylov-v-python-10548/
1) score1, score2 = 0 не работает. Надо score1, score2 = 0, 0 или score1 = score2 = 0. Второе предпочтительнее, на мой взгляд.
2) такой цикл через while нет смысла использовать, когда можно:
for _ in range(100): ("_" используется, когда нам значение не нужно это, как тут)
3) хз, какой лучший вариант для рандома, но точно не твой. Проще random.randint(0, 1). Плюс, если у тебя будет 1.00, то ни одна переменная не получится +1, так и задумано? Переделанный вариант - пикрил.
4) также можно, вообще рандомом сгенерировать себе score1, а затем вычесть из 100 его и это будет score2.
Либо score1 можно генератором списка, а не циклом получить, а затем уже опять же получить score2 = 100 - score1:
>>> import random
>>> score1 = sum(random.randint(0, 1) for _ in range(100))
>>> score2 = 100 - score1
>>> print(score1, score2)
51 49
Лишние пробелы (6 вместо 4) в цикле поставились в отступах, ну да ладно.
1. /manga/ -> здесь отображаются все обьекты моей модели MangaList (название манги, описание)
2. manga/<slug:post>/ - детальная страница манги. Здесь указаны название манги, описание и т.д. (т.е например есть манга Naruto, следовательно она имеет адрес manga/naruto-is-cool)
Теперь непосредственно проблема:
Бд имеет две таблицы (и связь один ко многим): MangaList(здесь название манги описание и т.д), а также MangaImages(здесь есть поле mangaid = models.ForeignKey(MangaList, on_delete=models.CASCADE, related_name='manga_images') а также после с картинкой).
Вроде все работает, картинки сохраняются под айдишкой MangaList. Но у меня вообще нет идей как отображать адрес с картинкой определенной манги.
Т.е я в manga/naruto-is-kruto/ должен клацать по "прочитать" и попадать в /manga/naruto-is-kruto/watch/. Но ничего не получается, я и метод absolute_get_url прописывал для второй таблицы и {% url "manga_watch" %} в шаблоне прописывал, но все не получается.
Прошу помощи у вас. Я хз как это прописывать.
https://pastebin.com/4Yq6caW8
У меня как-то не очень выходит
def seedE(x, y,
a_1 = 0,
a_2 = 63308,
a_3 = -183326,
b_1 = 86098,
b_2 = 0,
b_3 = -539608,
m_1 = 231 - 1,
m_2 = 2145483479):
def randE():
nonlocal x, y, a_1, a_2, a_3, b_1, b_2, b_3, m_1, m_2
x = (a_1 x[i-1] + a_2 x[i-2] + a_3 x[i-3]) % m_1
y = (b_1 y[i-1] + b_2 y[i-2] + b_3 y[i-3]) % m_2
z=(x - y)%m_1
return x_n
return y_n
return z_n
return randE
По -идее там надо еще первые 3 штуки x и y задать, но массивы в функцию как-то не запихиваются.
Побуду твоей уточкой. Объясни, зачем ты разбил это на две функции именно таким образом?
Был аналогичный пример с более простым генератором https://pastebin.com/B5Djw8f0
Попытался сделать нечто похожее.
Там хитрая closure функция. Чтоб значения из внутренней записывать во внешнюю. Я просто попытался повторить. Есть у такого подхода перспективы или сразу ясно, что тут такое не сработает? Я не до конца с closure функциями разобрался, поэтому не знаю. В простом примере там просто переменные были, а тут надо еще 3 предыдущих значения запихнуть как-то.
Уточка думает, что нужно в первую очередь понять, как идёт поток выполнения программы. Что меняется, где и когда. Если хочешь, начни с более простого примера.
>>80333
Если бы я знал, то не спрашивал. Алгоритм сам простой, но закодить я хз как. Причем именно в виде функции.
Надо задать первые 3 значения x, y. Дальше
x = (a_1 x[i-1] + a_2 x[i-2] + a_3 x[i-3]) % m_1
y = (b_1 y[i-1] + b_2 y[i-2] + b_3 y[i-3]) % m_2
z=(x - y)%m_1
будут давать новые значения. Но вот как записать эти первые 3 значения и куда и как добавлять новые я не знаю.
Там lcg генерит новые seed и дает их в seed2. seed2 как бы хранит значения.
> (Если ты, конечно, хочешь именно через клозуры генератор сделать)
Какие еще варианты? Если там проще, то хорошо. Главное чтоб потом можно было массив сгенерировать длины N rand(N).
Давай ещё подумаем, чем отличается тот алгоритм, что ты сейчас пишешь, от этого более простого примера. Мы начнём с того, что посмотрим, с чего начинаются они. С чего начинается простой?
Задаем seed например 1, seed переписывается на (1*а+b)%m и так по кругу. Как я понимаю в сложном надо 6 сидов задать по 3 на x и y?
Долго с джангой не работал, сидел плотно на SQL. Но я бы сделал так:
Делаешь связь много ко многим и уже с помощью этой сущности делаешь представление например: (manga_id, manga_pic_url) и от сюда хуяришь url-ки на сайт. Или можно без представление, просто через отношение много ко многим как например в пикрелейтед.
https://dpaste.org/2cqf
>Долго с джангой не работал
Ну что то вроде этого. Потом с помощью запросов кидаешь все что нужно на сайт.
https://pastebin.com/VdPCRduT
Ну, уточка что-то накалякала, может пригодится, когда проснёшься.
Или, если хочется совсем клозурами обмазаться (и получить доступ к изменению семян), то так
https://pastebin.com/rMAwGMMY
Спасибо.
https://pastebin.com/ciJhGrHh
это да, но я хз как этот инпут к конкретному полю класса привязать. И ещё я пока не очень понимаю как сделать так, чтобы с каждого последующего инпута создавался новый экземпляр класса: типа сначала мы вводим х1.имя, х1.номер, х1.ещечтонибудь, а потом то же самое для х2, х3 и до хn
(вон на пикриле дефолтное repr-представление объекта)
Можно ли: также получить у рандомного у объекта во время выполнения проги область памяти, на которую он ссылается? И можно ли по полученной области памяти получить ссылку на сам объект?..
По хорошему - нет.
Но ты можешь написать расширение на сишке, которое будет принимать объект и возвращать адрес, функцию для обращения к адресу и чтения/записи... И получить UB в высокоуровневом и безопасном питоне.
> я хз как этот инпут к конкретному полю класса привязать
Можно разбить введенную строку на список, а затем распаковать при инициализации класса, как пример построчно:
new_contact_input = 'Alice Unknown,89001234567,01.01.1999'
new_contact_list = new_contact_input.split(",") # вернет ['Alice Unknown', '89001234567', '01.01.1999'] в new_contact_list
new_contact = FRIEND(new_contact_list) # распаковка списка, то же самое, если передать в качестве аргументов: 'Alice Unknown', '89001234567', '01.01.1999'
> И ещё я пока не очень понимаю как сделать так, чтобы с каждого последующего инпута создавался новый экземпляр класса: типа сначала мы вводим х1.имя, х1.номер, х1.ещечтонибудь
Аналогично первому варианту, только аппендить в список:
new_contact_list = []
for i in range(3):
....new_contact_list.append(input(f"Ввод поля #{i + 1}: "))
new_contact = FRIEND(new_contact_list)
> а потом то же самое для х2, х3 и до хn
Полагаю, что тебе нужно это в список складывать (или словарь). В данном случае это нужно вложить еще в один цикл и, например, спрашивать после создания первого, нужно ли еще одного создавать. Твой код нерабочий, но если убрать numContacts (нейминг тоже неправильный, правильно типа num_contacts), то вот такой пример можешь попробовать, чтобы увидеть как оно работает:
contacts = [FRIEND('Alice Unknown', '89001234567', '01.01.1999'), FRIEND('Suika Ibuku', '8999999999', '09.09.1999')] # два экземпляра класса FRIEND (тоже неправильный нейминг, классы в CamelCase) в списке
contacts[0].displayInfo()
выдаст:
Создание нового контакта...
Создание нового контакта...
Имя: Alice Unknown,
Номер телефона: 89001234567,
Дата рождения: 01.01.1999.
> я хз как этот инпут к конкретному полю класса привязать
Можно разбить введенную строку на список, а затем распаковать при инициализации класса, как пример построчно:
new_contact_input = 'Alice Unknown,89001234567,01.01.1999'
new_contact_list = new_contact_input.split(",") # вернет ['Alice Unknown', '89001234567', '01.01.1999'] в new_contact_list
new_contact = FRIEND(new_contact_list) # распаковка списка, то же самое, если передать в качестве аргументов: 'Alice Unknown', '89001234567', '01.01.1999'
> И ещё я пока не очень понимаю как сделать так, чтобы с каждого последующего инпута создавался новый экземпляр класса: типа сначала мы вводим х1.имя, х1.номер, х1.ещечтонибудь
Аналогично первому варианту, только аппендить в список:
new_contact_list = []
for i in range(3):
....new_contact_list.append(input(f"Ввод поля #{i + 1}: "))
new_contact = FRIEND(new_contact_list)
> а потом то же самое для х2, х3 и до хn
Полагаю, что тебе нужно это в список складывать (или словарь). В данном случае это нужно вложить еще в один цикл и, например, спрашивать после создания первого, нужно ли еще одного создавать. Твой код нерабочий, но если убрать numContacts (нейминг тоже неправильный, правильно типа num_contacts), то вот такой пример можешь попробовать, чтобы увидеть как оно работает:
contacts = [FRIEND('Alice Unknown', '89001234567', '01.01.1999'), FRIEND('Suika Ibuku', '8999999999', '09.09.1999')] # два экземпляра класса FRIEND (тоже неправильный нейминг, классы в CamelCase) в списке
contacts[0].displayInfo()
выдаст:
Создание нового контакта...
Создание нового контакта...
Имя: Alice Unknown,
Номер телефона: 89001234567,
Дата рождения: 01.01.1999.
Съело зведочки, в этих строках они перед new_contact_list:
new_contact = FRIEND(new_contact_list)
new_contact = FRIEND(new_contact_list)
Так пиши. Потом объяснишь.
Как отсортировать dictionary:
{'1': '7', '0': '13', '3': '4', '2': '1', '5': '2', '4': '3'}
чтобы было:
{'0': '13', '1': '7', '3': '4', '4': '3', '5': '2', '2': '1'}
?
python 3.2.5
Всё, я понял.
>t[1]
->
>int(t[1])
В dict чёт криво конвертируется, ну и ладно: https://rextester.com/HXZU89024
А зачем тебе сортировать словарь? Это же словарь, он по определению не должен быть сортирован. Может тебе для твоей задачи другая структура данных нужна?
Очевидно, что анон хочет не dict, а что-то подобное с ключами и значениями, но отсортированное. Например, чтобы вывести красивую упорядоченную табличку на экран.
Список кортежей? Или просто достать список ключей, отсортировать и вызывать по нему.
8.2 > 8.20
5.0
10
0 > 0.00
4.50
и так далее
Считал я перцентиль, среднее, медиану, самое большое число и самое маленькое из файла с числами. Использовал NumPy
https://dumpz.org/bqyrfCbEPA9t
Немного скорректировал то, что уже имеется. Вносите свои изменения.
Ноль перед двоиточием необязательно, пробелы после не нужны (если в формате их получить не хочешь).
1. Как все это организовать? Нужно ли заставлять пользователя регистрироваться чтобы добавить его в базу, а затем привязать к каждому пользователю его данные или можно без этого обойтись?
2. Что посоветуете почитать помимо тутора с документации по джанге и тутора от мазилы?
Я бы сделал так, но я такой же нюфаг как и ты.
Поднял базу, в базу раз в какое то время забирал инфу из экселя через celery, если значения не совпадают - не копировал бы их.
Плюс через формы разрешил бы вбивать новые записи уже через саму джангу. Регистрацию бы пилил в случае, если сервер будет смотреть в инет, если он в локалочке, то строго поебать.
Ну и графики на фронте отрисовать просто каким нибудь жс фремворком. Хотя, вероятно, думаю, можно и чем нибудь вроде pandas, но мне бы было лень в нем разбираться.
>new_image = Image.composite(im, empty_image, mask)
Все открываю как RGBA. По краям остается слегка заблюренный черный контур при сохранении, когда делаю show, то мне кажется, что этого контура нет (или он просто не виден на этом фоне). Это нужно что-то дополнительно с картинкой/маской делать, что бы его не было?
В полезные ссылки мб впихнуть
https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g
Хорошие туториалы по Фласку/Джанго для начинающих и еще пару полезных плейлистов по Сублиму, гиту, командной строке и т.д.
https://github.com/tuvtran/project-based-learning#python
Название говорит само за себя. Есть гайды по интересным проектам на разные темы + такие же гайды по другим языкам.
Понял, что это из-за цвета пустой картинки в которой при применении метода composite почему-то игнорируется выкрученный на полную альфа канал
>>81319
Не совсем, это, но примерно так.
>>81257
Моя задача, в некоем массиве:
x = [0, 1, 3, 0, 5, 0, 1, 0, 4, 1, 0, 1, 4, 0, 0, 3, 0, 2, 0, 1, 3, 0, 3, 0, 1, 4, 0, 1, 5, 0];
закодировать уникальные значения:
['0', '1', '2', '3', '4', '5'];
префиксным кодом - кодом Хаффмана:
0
10
110
1110
11110
11...1
При этом, наиболее коротким кодом,
должно кодироваться значение - с наибольшей частотой повтора.
Поэтому, в dictionary = {'1': '7', '0': '13', '3': '4', '2': '1', '5': '2', '4': '3'}
я положил количества повторов этих уникальных символов.
Следовательно, стояла задача - отсортировать этот dictionary,
и заменить количества повторов на соответствующие коды.
Но я и так разобрался.
Вот полный код, если чо: https://rextester.com/XSMSF58499
Я из треда https://2ch.hk/math/res/62709.html (М) пытаюсь сжать несжимаемые данные.
Получается пока хреново, но что-то всё-таки, вроде, получается. :3
>>81319
Не совсем, это, но примерно так.
>>81257
Моя задача, в некоем массиве:
x = [0, 1, 3, 0, 5, 0, 1, 0, 4, 1, 0, 1, 4, 0, 0, 3, 0, 2, 0, 1, 3, 0, 3, 0, 1, 4, 0, 1, 5, 0];
закодировать уникальные значения:
['0', '1', '2', '3', '4', '5'];
префиксным кодом - кодом Хаффмана:
0
10
110
1110
11110
11...1
При этом, наиболее коротким кодом,
должно кодироваться значение - с наибольшей частотой повтора.
Поэтому, в dictionary = {'1': '7', '0': '13', '3': '4', '2': '1', '5': '2', '4': '3'}
я положил количества повторов этих уникальных символов.
Следовательно, стояла задача - отсортировать этот dictionary,
и заменить количества повторов на соответствующие коды.
Но я и так разобрался.
Вот полный код, если чо: https://rextester.com/XSMSF58499
Я из треда https://2ch.hk/math/res/62709.html (М) пытаюсь сжать несжимаемые данные.
Получается пока хреново, но что-то всё-таки, вроде, получается. :3
И да, какие структуры данных лучше использовать в подобном случае - я так и не понял.
Список таплов, где тапл = (символ, частота)
Сортируешь список с ключом lambda x: x[1]
Если хочешь чуть более красивый код, можешь ещё про namedtuple погуглить
Не могу найти как обратиться к значению kolichestvo в цикле.
Store={
'gvozdi':[
{'kolichestvo':27,'cena':50},
{'kolichestvo':30,'cena':50},
{'kolichestvo':40'cena':50},
],
...
...
...
}
for gvozd in store["gvozdi"]:
..print(gvozd["kolichestco"]
Не извращайся с траслитом, в питоне идентификаторы можно писать кириллицей.
Если тебе надо те только гвозди, то
for _, l in Store.items():
..for b in l:
....print(b['kolichestvo'])
Ну и у тебя пиздец, а не структура данных. Игла в яйце, яйцо в дятле. Хотя бы от 'kolichestvo','cena' в каждом кортеже избавься. named tuples тебе нужны.
>В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа
Не та же самая. Собственно и название неспроста поменяли.
Корябаю твою задачу потихоньку, нашёл ошибку. В def how_many_nulls(binary_data) у тебя никак не обрабатываются нули в конце binary_data. Даже если их был десяток, то счётчик про них забывает и они никуда не аппендятся.
Вангую что там ЖС к тебе не прилетает.
Копай в сторону Ф12 на хроме и selenium webdriver headless
Зацените,
Вот это говно раз в 5 минут качает вебмки из вебм-тредов и fap-тредов и качает себе
Да хуй там, гет запрос и все. В ф12 жабаскриптом и не пахнет. Чисто вывалило html и все. Может я совсем даун, конечно, но я никаких упоминаний скриптов, или .js в хтмл не вижу.
Тройное if как записать проще ?
Может там есть проверка юзерагента и он ошибку выкидывает, когда ты без него обращаешься? Посмотри, что он тебе присылает.
К примеру пикрил
Потому что я байтоёб
До этого почти не программировать кста
Много что можно, но это много от чего зависит. Эффективно учиться ты сможешь всё равно часа 4-5 в день и это крайний максимум.
Ну, самые основы за день можно осилить и закрепить, наверное. Но это не то же самое, что выучить питон.
И если тебя интересуют самые базовые алгоритмы, то есть для чайников книга "грокаем алгоритмы", там примеры на питоне. Наверное, за три дня какой-нибудь выхлоп получишь с этого суммарно. Плюс была ещё какая-то книга, где алгоритмы на разных языках, в том числе и на питоне. В неё тоже, наверное, ты мог бы поглядеть.
Но если ты будешь проходить собеседование или что-то такое, то тебя очень быстро раскусят, что ты питон едва знаешь.
Возможно, у других анонов иное мнение будет.
>x = [0, 1, 3, 0, 5, 0, 1, 0, 4, 1, 0, 1, 4, 0, 0, 3, 0, 2, 0, 1, 3, 0, 3, 0, 1, 4, 0, 1, 5, 0];
>>81215
>Как отсортировать dictionary:
>{'1': '7', '0': '13', '3': '4', '2': '1', '5': '2', '4': '3'}
>чтобы было:
>{'0': '13', '1': '7', '3': '4', '4': '3', '5': '2', '2': '1'}
Ты можешь получить такого рода результат с помощью collections.Counter:
from collections import Counter
x = [0, 1, 3, 0, 5, 0, 1, 0, 4, 1, 0, 1, 4, 0, 0, 3, 0, 2, 0, 1, 3, 0, 3, 0, 1, 4, 0, 1, 5, 0]
c = Counter(x)
print(c)
Результат:
Counter({0: 13, 1: 7, 3: 4, 4: 3, 5: 2, 2: 1})
При этом ты можешь его сделать словарем dict(c), но все равно порядок элементов тебе питон 3.2 не гарантирует для стандартного словаря, но и не ясно до сих пор зачем тебе это надо. Если же тебе нужно цикл прогнать по его ключам-значениям, то это делается также, как и для обычного словаря и как раз оно будет в порядке убывания, как тебе и надо:
for k, v in c.items():
....print(k, v)
По ссылке https://rextester.com/XSMSF58499 у тебя какой-то треш. Откуда-то точки с запятыми, а еще условные операторы обернутые без необходимости в скоки, что требуется в других языках, но не здесь.
ну вообще мне помогает подремать полчасика в процессе поглощения тяжелого материала.
С фига ли не работает?
Учи геометрию за 6 класс и уравнение прямой
Как кстати 3 и 4 делать? Если точка снаружи то можно построить прямые до каждой вершины и измерить угол между этими вершинами и он окажется всегда меньше 180, а если точка внутри то построив прямые до вершин и измерив угол между ними то как минимум 1 будет больше 180 градусов и значит точка внутри?
мимо
https://docs.python.org/3.7/reference/lexical_analysis.html
> Even in a raw literal, quotes can be escaped with a backslash, but the backslash remains in the result; for example, r"\"" is a valid string literal consisting of two characters: a backslash and a double quote; r"\" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw literal cannot end in a single backslash (since the backslash would escape the following quote character). Note also that a single backslash followed by a newline is interpreted as those two characters as part of the literal, not as a line continuation.
>>82734
python -m vhod.py "Aiti"
>>82762
https://serverpilot.io/docs/how-to-run-a-simple-ftp-server/
Оно?
2 и 3*
Мне надо так:
Покуда нет стены справа И нет стены снизу:
ебашу код.
Но нихуя не получается
Ха ха жду тебя на пятой лекции.
Там так и написано как ты хочешь, но попробуй
while wall_os_on_the_right() == False and wall_is_beneath() == False
>>82764
Это твое тестовое задание? Если да, то у меня плохие новости к твоему работодателю
У тебя есть диапазон X и Y. Ты смотришь как точки из второго файла относятся к нему: внутри диапазона (2), совпадают с одним граничным значением (1), совпадают с двумя граничными значениями (0), не лежат в диапазоне (4).
Сложность уровня школьных задачек по паскалю или что у вас там в школьной программе было.
Благодарю.
>>82187
>у тебя никак не обрабатываются нули в конце binary_data
Да, достаточно раскомментировать это после цикла в how_many_nulls:
>#array.append(count); #number of nulls in the end
>>82531
Благодарю, так проще даже, и меньше кода.
>По ссылке https://rextester.com/XSMSF58499 у тебя какой-то треш.
>Откуда-то точки с запятыми,
>а еще условные операторы обернутые без необходимости в скоки,
>что требуется в других языках, но не здесь.
Я с JavaScript'a в пистон перебрался, пишу коряво, но зато работает кот.
Если чо, пишите пожелания в треде https://2ch.hk/math/res/62709.html (М) , чтобы тут не флудить.
Там тоже есть некие наброски черновые, можете глянуть их, чисто по фану.
Рисунок хуевый для пояснения нарисовал. С точкой B я хотел показать что это одна и та же точка (один и тот же случай), в которой одно из значений x1, x2, y1 или y2 совпадает с координатой точки В.
Да я в принципе понимаю как это работает. Я не могу это нормально в код преобразовать
Что за хуйня? И как ты по одной проверке по диапазону узнаешь находится ли точка внутри или снаружи, там же не обязательно прямоугольник параллельный оси Х будет. Кроме как через углы детектить не представляю как.
>>82790
Звиняюсь, это я дебил и решил что в остальных вариантах, как в примере будут прямоугольники. Тогда положение внутри можно находить методом трассировки луча (дохуя нагромождение на рисунке, но в интернете будет более наглядный рисунок и решение на змеюке).
Нахождение точки на линии можно проверить по формуле прямой (можешь выразить коэффициенты k и b, а потом проверять равенство игреков по формуле y=kx+b)
То есть у меня есть например
1 бла бла бла
2 бла бла бла бла
....
....
....
Далее в коде я хочу повторить 1 и 2 строки. Я понимаю, что мне ничего не мешает просто их скопировать, но может есть что-то более элегантное типа repeatline(1), чтоб это одним словом можно было сделать.
Функции.
На картинке
Тимофей Хирьянов - ютюб
sys.argv
Видел я про этот метод, но я нихуя не понимаю, как в коде это записать. Есть у меня два списка: список координат четырехугольника и список координат точек. Я элементарно не могу сделать цикл и прогнать, чтобы посмотреть подходят точки или нет. Решал в тетрадки такие задачи раньше, вроде все норм было. Но просто в ебаный код не могу перевести. Сорри, у меня подгорели остатки серого вещества.
https://github.com/humiaozuzu/awesome-flask/blob/master/README.md#framework можешь тут посмотреть.
Жесть там библиотек, а я пилю свой пиздецовый велосипед на голом фласке и не знаю, как безопасную аутентификацию сделать с этими токенами
А если я уже перешагнул эту ступень и хочу совершенствоваться?
прямо сейчас ковыряю flask и субд, хотя думаю на это забить и обойтись одним orm
как теперь вкатится на реальную роботу без опыта? можно ли устроится удаленно за небольшие профиты? интересует только бекенд и чуть-чуть датасаенс но таких вакансий крайне мало и я им точно нахуй не нужен
пробовать искать стажировку в говноконторе за еду или заняться пет-проектами (которые ещё нужно придумать)?
пока что гитхаб состоит из laba1.cpp и блога для кота
age = input("enter your age: ")
age = int(age)
while:
if age <= 3 :
print("Бесплатно")
elif 3 < age < 13:
print("10 баксов")
elif 12 < age:
print("15 баксов")
>
>
я понимаю, что прошло 8 дней,но если тебе надо,просто пропиши
while True:,
и после каждого ифа поставь break, но как по мне это цикл здесь нахуй не всрался
Вы видите копию треда, сохраненную 8 марта 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.