data = [{'DOC_NUM': None, 'DOC_ORG': '0', 'GROUP_NUM': '987564', 'BOX_TYPE': '9999999 ', 'D_NUM': 'Номер города', 'BOX_NUM': '12345679', 'ADR': 'Огнева'}]
# сформировать список колонок и привязки параметров (по ":")
columns = ", ".join(data[0].keys())
bindings = ", ".join((f":{key}" for key in data[0].keys()))
sql = "insert into my_table ({}) values ({})".format(columns, bindings)
print(sql)
# должен получиться такой запрос
# insert into my_table (DOC_NUM, DOC_ORG, GROUP_NUM, BOX_TYPE, D_NUM, BOX_NUM, ADR) values (:DOC_NUM, :DOC_ORG, :GROUP_NUM, :BOX_TYPE, :D_NUM, :BOX_NUM, :ADR)
#который потом примет словарь данных напрямую (или просто execute, если нужна только одна первая строка data[0]
cur.executemany(sql, data)
# принимаем как текст нового абзаца, так и список ответов
def select(fable, answers):
print(fable)
print('\n'.join(answers))
while True:
# можно добавить проверку ввода букв вместо цифр
answer = int(input())
# т.к. мы знаем кол-во вариантов ответов, то сразу можем проверить валидность
# аналогично можно добавить и другие проверки
if answer > len(answers):
print('Неверный ответ, будь внимательнее')
else:
break
# возвращаем результат ответа, не нужны глобалы
return answer
# и в основной программе соответственно разделяем текст и ответы
fable = "Жили-были старик со старухой. Вот и просит старик\n - Испеки мне, старая, колобок.\n - Да из чего испечь-то? муки нет.\nЧто ответит дед?(выберите цифру ответа):"
# при желании из текста ответа можно и удалить жестко прописанные номера.
# т.к. это у нас список, то мы ведь их можем сгенерировать налету перед печатью
answers = ["Ты по амбару подмети, по сусекам поскреби - вот и наберёшь муки (1) ", "Ну ладно, свари мне тогда каши (2) ", "Ладно, пойду на базар, куплю муки, тогда и испечёшь (3) "]
# и собственно запускаем опрос по первому абзацу
answer = select(fable, answers)
# полученный номер ответа уже используем в дальнейшей проверке
if answer == 1:
# аналогично формируем запрос по следующему абзацу, и т.д.
Но хотелось бы как-то отсортировать это по cash и уже получить rowid .
SELECT id, name, cash, row_number() over(order by cash desc) as rownum FROM users
cursor.execute("SELECT cash, rowid, rownum FROM (SELECT id, name, cash, row_number() over(order by cash desc) as rownum FROM users) WHERE id = ?", (ctx.author.id, )).fetchone()[2]
# coding:utf-8
# coding:windows-1251
frame.to_csv('1.csv', mode='a', header=False)
if command("prn") == key:
if command("prn") in vars:
for i in key:
import tkinter.font as tkfont
font = tkfont.Font(font=text['font'])
tab_size = font.measure(' '*4)
# и установить размер табов
text.config(tabs=tab_size)
cursor.execute(f"SELECT honda||spyder||yamaha||ford||lancer||nissan car_info FROM cars WHERE id2 = ?", (ctx.author.id, ))
# допустим получили такую строку флагов из таблицы
car_flag = "001010"
# список машин в таком же порядке, как столбцы таблицы
cars = ['honda', 'spyder', 'yamaha', 'ford', 'lancer', 'nissan']
# сопоставляем нашу строку флагов со списком машин
user_cars = [car for car, flag in zip(cars, car_flag) if flag == "1"]
print(user_cars)
# ['yamaha', 'lancer']
data = cursor.execute(f"SELECT * FROM cars WHERE id2 = ?", (ctx.author.id, ))
for value, name in zip(data, map(lambda x:x[0], cursor.description)):
if value = 1:
print(name)
folderGame = self.getDirectory()
word = '[CHAT]' # Word there we search
f = open('LOG.log','r') # File where searching word
while True: # infinite cycle
text = f.read().split('\n') # Reading a file and splitting it by delimiter ('\n')
for i in text: # Searching word
if word in i: # If i have word
print(i) # Printing word
time.sleep(1)
r = requests.get('https://www.gismeteo.ua/weather-Gorod/'% (city))
r = requests.get('https://www.gismeteo.ua/weather-%s/'% (city))
r = requests.get(f'https://www.gismeteo.ua/weather-{city}/')
r = requests.get(f'https://www.gismeteo.ua/weather-{city}/', headers={'User-agent': 'Mozilla/5.0'})
def move_oval(event):# перемещает овал
canvas = event.widget
# находим ближайший объект
obj = canvas.find_closest(event.x, event.y)[0]
# для оценки направления движения возьмем центр объекта
x1,y1,x2,y2 = canvas.coords(obj)
cx = (x2+x1)//2
cy = (y2+y1)//2
canvas.move(obj, event.x-cx, event.y-cy)