- 1
description = f"""У тебя , **{ctx.author}** вот столько балов!**{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :polegar_para_cima:**"""
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
description = f"""У тебя , **{ctx.author}** вот столько балов!**{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :polegar_para_cima:**"""
Насмотревшиеся Хауди Хо ботопейсатели - это, конечно, нечто.
1. Выполнение SQL-запроса вставлено прямо в шаблонизируемую строку
2. Сам запрос формируется через форматирование строки (привет, Бобби Тейблз!)
3. Не проверяется, вернула ли база хоть что-то.
"Не могу понять в чем проблема?" (с)
−1
#!/usr/bin/python
import sys
cache = {}
def count(start, end):
if start < end:
if start not in cache:
cache[start] = count(start + 1, end) + count(start * 2, end) + count(start ** 2, end)
return cache[start]
elif start == end:
return 1
else:
return 0
print(count(int(sys.argv[1]), int(sys.argv[2])))
Подсчитать количество путей из a в b с помощью прибавления единицы, умножения на 2 и возведения в квадрат
Чем формально ограничены возможности преобразовать рекурсию в хвостовую? Вот такое ведь не преобразовать?
+2
def export_to_csv(model, fields=None, related_models=[]):
def export(request):
meta = model._meta
queryset = model.objects.all()
if fields is not None:
field_names = fields
elif 'Shops' in related_models and 'Spots' in related_models:
field_names = [field.name for field in Shops._meta.fields] +\
[field.name for field in Spots._meta.fields]
elif 'Products' in related_models and 'Spots' in related_models:
field_names = [field.name for field in Products._meta.fields] +\
[field.name for field in Spots._meta.fields]
else:
field_names = []
for field in meta.fields:
if not field.name in FORBIDDEN_FIELDS:
field_names.append(field.name)
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename={}.csv'.format(meta)
response.write(u'\ufeff'.encode('utf8'))
writer = csv.writer(response, delimiter=',', lineterminator='\n', quoting=csv.QUOTE_ALL, dialect='excel')
writer.writerow(field_names)
if len(related_models) == 0:
for obj in queryset:
row = writer.writerow([getattr(obj, field) for field in field_names])
elif 'Shops' in related_models and 'Spots' in related_models:
shops_fields = [field.name for field in Shops._meta.fields]
contact_fields = [field.name for field in Spots._meta.fields]
for obj in queryset:
row = []
if obj.Shops is not None:
row += [getattr(obj.Shops, field) for field in shops_fields]
else:
row += ['' for field in shops_fields]
if obj.Contact is not None:
row += [getattr(obj.Contact, field) for field in contact_fields]
else:
row += ['' for field in contact_fields]
writer.writerow(row)
elif 'Products' in related_models and 'Spots' in related_models:
products_fields = [field.name for field in Products._meta.fields]
contact_fields = [field.name for field in Spots._meta.fields]
for obj in queryset:
row = []
if obj.Products is not None:
row += [getattr(obj.Products, field) for field in products_fields]
else:
row += ['' for field in products_fields]
if obj.Contact is not None:
row += [getattr(obj.Contact, field) for field in contact_fields]
else:
row += ['' for field in contact_fields]
writer.writerow(row)
return response
return export
В юности нагородила вот такую портянку для экспорта в csv связных между собой таблиц. Связка данных на уровне DAO-шки (в терминологии Джанго - Managers)? Пфф... Только инжект if-else с копипастой связки данных, только хардкор!
0
class UserCreate(MethodView):
"""Data create."""
def post(self):
"""Создание данных."""
q = 1
values = {}
values['person'] = request.json_schema["person"]
values['date_opr'] = request.json_schema["dateOpr"]
values['year_input'] = request.json_schema["yearInput"]
values['vuz'] = request.json_schema["vuz"]
values['person_id'] = request.json_schema["personId"]
q = 1
with session_scope() as session:
id = candidate_service.create_item(session, values)
return {"msg": "Данные созданы", "data": {"id": id}}
зачем эта переменная q???
0
# Дамп базы хуза
# Постобработка export-а из MySQL
import pandas as pd
import numpy as np
import csv
comments = pd.read_csv('/wp_comments-2.csv', header=None)
comments.head()
##
comments_clean = pd.DataFrame({
'comment_id': comments[0],
'comment_post_id': comments[1],
'comment_parent': comments[13],
'name': comments[2],
'gravatar_hash': comments[3].str.split('@').str[0],
'gravatar_domain': comments[3].str.split('@').str[1],
'profile': comments[4],
'date': comments[6],
'content': comments[8],
})
##
comments_clean[(comments_clean.gravatar_domain != 'lo.ol') & ~comments_clean.gravatar_domain.isna()]
##
comments_clean = comments_clean[(comments_clean.gravatar_domain == 'lo.ol') | comments_clean.gravatar_domain.isna()]
comments_clean.drop(columns=['gravatar_domain'], inplace=True)
comments_clean.head()
##
posts = pd.read_csv('/wp_posts.csv', header=None)
posts = posts[(posts[20] == 'post') & (posts[7] == 'publish') & (posts[11].str.match('^_'))]
posts.head()
##
posts_clean = pd.DataFrame({
'post_id': posts[0],
'date': posts[2],
'content': posts[4],
'description': posts[6],
'original_id': posts[11].str[1:]
})
posts_clean.head()
##
comments_clean.to_csv('~/Downloads/gost/comments.csv', index=False)
posts_clean.to_csv('~/Downloads/gost/posts.csv', index=False)
https://govnokod.xyz/dump/wp_gk_legacy_users.csv
../comments.csv
../posts.csv
0
class Bagor:
r = []
def __init__(self, val):
self.r.append(val)
def get(self):
return self.r[0]
kakoi = Bagor(1)
bagor = Bagor(2)
print([kakoi.get(), bagor.get()])
https://ideone.com/K7tADi
0
import logging
import requests
from .. import loader, utils
logger = logging.getLogger(__name__)
def register(cb):
cb(TagallMod())
def chunks(lst, n):
for i in range(0, len(lst), n):
yield lst[i:i + n]
class TagallMod(loader.Module):
strings = {"name": "Tagall"}
def __init__(self):
self.config = loader.ModuleConfig("DEFAULT_MENTION_MESSAGE", "Привет", "Default message of mentions")
self.name = self.strings["name"]
async def client_ready(self, client, db):
self.client = client
async def tagallcmd(self, message):
arg = utils.get_args_raw(message)
logger.error(message)
notifies = []
async for user in self.client.iter_participants(message.to_id):
notifies.append("<a href=\"tg://user?id="+ str(user.id) +"\">\u206c\u206f</a>")
chunkss = list(chunks(notifies, 10))
logger.error(chunkss)
await message.delete()
for chunk in chunkss:
await self.client.send_message(message.to_id, (self.config["DEFAULT_MENTION_MESSAGE"] if not arg else arg) + '\u206c\u206f'.join(chunk))
+1
s=79; cur=[s//2,s//2]; prio=[[0,1],[1,0],[0,-1],[-1,0]]
spiral = [[0 for i in range(0,s)] for l in range(0,s)]
for cor in enumerate([[0,0]]+[prio[c] for c in [int(c) for c in ''.join([str(p%4)*((p+2)//2) for p in range(0,s**2//2)])]][:s**2-1],start=1):
n=cor[0];cur=[cur[0]+cor[1][0],cur[1]+cor[1][1]];spiral[cur[0]][cur[1]]=n
for c in spiral: print(str(('{:>'+str(len(str(s**2))+1)+'}')*len(c)).format(*c))
А теперь попробуй повтори этот шедевр своими трясущимися ручками-веточками на своём С++
0
# Калькулятор полных линейных неравенств
# Модули
from math import sqrt
# Пояснение
print('Это калькулятор полных линейных неравенств')
print('Эти неравенства выглядят так: a*x^2 +- b*x +- c = 0')
print('a, b и c - коэффиценты.\n')
# Ввод коэффицентов
a = int(input('Введите коэффицент a:'))
b = int(input('Введите коэффицент b:'))
c = int(input('Введите коэффицент c:'))
r = 0
D = 0
# Решение: вид неравенства
if b >= 0:
g = '+ '
else:
g = ''
if c >= 0:
f = '+ '
else:
f = ''
print('Так выглядит уравнение: ' + str(a) + 'x^2 ' + str(g) + str(b) + '*x ' + str(f) + str(c) + ' = 0')
# Решение: коэффиценты и дискриминант
print('Дискриминант(D) равен b^2 - 4 * a * c')
print('Значит D = ' + str(b) + '^2 - 4 * ' + str(a) + ' * ' + str(c))
b = int(b)
a = int(a)
c = int(c)
D = b**2 - 4 * a * c
print('D = ' + str(D))
drt = sqrt(D)
# Решение: ответ
if D < 0:
print('Ответ: Уравнение не имеет корней, так как дискриминант меньше нуля')
elif D == 0:
print('Уравнение имеет один корень: ')
x = -b/(2*a)
print('Корень уравнения: x = ' + str(x))
elif D > 0:
print('Уравнение имеет два корня: ')
x1 = (-b - drt)/2*a
x2 = (-b + drt)/2*a
print("Корни уравнения: x1 = " + str(x1) + ', x2 = ' + str(x2))
else:
r = 0
Вот это чудо Я(гуманитарий) состряпал за 15 минут на второй день изучения питона. Ну как? Так ли худо?
+1
from bs4 import BeautifulSoup
import requests
user = "**********"
r = requests.get('https://www.last.fm/user/' + user)
soup = BeautifulSoup(r.content, 'html.parser')
page = soup.prettify()
#Top artists
print(
page[int(page.find('’s top artists: ') + len('’s top artists: ')):int(page.find('. Get your own music profile at Last.fm')):]
)
#Top track
print(
''.join(i if i != "+" else " " for i in (page[int(page.find('data-analytics-action="FeaturedTrackTrackName" href="/music/') + len('data-analytics-action="FeaturedTrackTrackName" href="/music/')):int(page.find('/_/', int(page.find('data-analytics-action="FeaturedTrackTrackName" href="/music/') + len('data-analytics-action="FeaturedTrackTrackName" href="/music/')))):] + " - " + page[int(page.find('/_/')) + 3:page.find('"', int(page.find('/_/'))):]))
)
Сбор с lastfm любимых исполнителей и любимого трека