- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
from playsound import *
import tkinter
from tkinter import *
import tkinter as tk
from tkinter import ttk
import getpass
import sys
import os
import os.path
import pyautogui
from time import sleep
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
from playsound import *
import tkinter
from tkinter import *
import tkinter as tk
from tkinter import ttk
import getpass
import sys
import os
import os.path
import pyautogui
from time import sleep
https://habr.com/post/532684/
> Написание WinLocker'а на Python
> И всем привет братва, с вами я, Геймер Дисклеймер. Как вы думаете, чем я занимался 2 дня подряд? Нет, я не в доту рубился (и вам не советую, раз уж вы себя программистами называете). Я подготавливал материал для Хабра. А точнее, создавал винлокер. И нет, я его не скоммуниздил украл у кого-то, а сам создавал его с нуля. И сегодня я научу вас его создавать. И да, если вы дисклеймер так и не прочитали, то ни в коем случае не используйте этот код во вред другим! Ну ладно, без лишних слов, погнали!
−12
print('HELLO')
ОЧЕНЬ СЛОЖНЫЙ КОД
−2
#Ide для япа
code = input('Ваш код: ')
if code = "print('text')
print('text')
0
#Я новичок в питоне, учусь буквально 2 недели. Это моя первая программа - типа банкомат,
#которую показал для примера учитель в очень упрощенном варианте, а я уже заинтересовался этим и стал улучшать её.
x=input('Чтобы зарегистрироваться, введите логин.\n' )
y=input('Придумайте пароль.\n')
login=x
password=y
print('Вы успешно зарегистрировались!')
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print('Войдите в систему, чтобы получить доступ ко всем функциям.')
log=(input("Введите логин:\n"))
pas=(input("Введите пароль:\n"))
if((log==login)and(pas == password)):
balance=0
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print("Вход выполнен успешно! У вас на счету",balance,"р.")
while 1:
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print("Введите 1, чтобы пополнить счет, 2, чтобы снять, 3, чтобы выйти из аккаунта, и 4, чтобы узнать состояние счета.")
s=int(input('(Далее - Enter.)\n'))
if(s==1):
sum=int(input("На сколько вы хотите пополнить счет? (Далее - Enter.)\n"))
balance=balance+sum
print("Операция проведена успешно! На Вашем счету",balance,'р.')
if(s==2):
print("Сколько вы желаете снять со счета?")
sum=int(input('(Далее - Enter.)\n'))
if (sum>balance):
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print("На счете недостаточно средств. Попробуйте ввести меньшее значение.")
else:
balance=balance-sum
print("Средства сняты со счета. Остаток:",balance,"р.")
if(s==3):
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print('Вы вышли из аккаунта.')
raise SystemExit
if(s==4):
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print('На вашем счету',balance,'р.')
if((log!= login)or(pas!= password)):
count=4
while ((log!=login)or(pas!=password)):
count=count-1
print("Неправильно введён логин или пароль. Осталось попыток входа:", count)
log=(input("Введите логин:\n"))
pas=(input("Введите пароль:\n"))
if ((count < 2)and((log!=login)or(pas!=password))):
print('Вход заблокирован в связи с ошибкой при входе.')
break
if ((log ==login)and(pas==password)):
balance=0
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print("Вход выполнен успешно! У вас на счету",balance,"р.")
while ((balance > -1)):
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print('Введите 1, чтобы пополнить счет, 2, чтобы снять, 3, чтобы выйти из аккаунта, и 4, для того чтобы узнать состояние счета.')
s=int(input('(Далее - Enter.)\n'))
if(s==1):
sum=int(input("На сколько вы хотите пополнить счет?\n"))
balance=balance+sum
print("Операция проведена успешно! На Вашем счету",balance,'р.')
if(s==2):
print("Сколько вы желаете снять со счета?")
sum=int(input('(Далее - Enter.)\n'))
if (sum>balance):
print("На счете недостаточно средств. Попробуйте ввести меньшее значение.")
else:
balance=balance-sum
print("Средства сняты со счета. Остаток:",balance,"р.")
if(s==3):
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print('Вы вышли из аккаунта.')
raise SystemExit
if(s==4):
print('__________________________________________________________________________________________________________________')
print('__________________________________________________________________________________________________________________')
print('На вашем счету',balance,'р.')
+1
In order to fund the development work on speeding CPython by a factor of five, something like $2M will be required.
This seems like a sizeable sum, but compared to the amount of money spent on Python development and the
cost of running Python applications, it is quite a modest sum.
---
The overall aim is to speed up CPython by a factor of (approximately) five. We aim to do this in four distinct stages,
each stage increasing the speed of CPython by (approximately) 50%.
1.5**4 ≈ 5
---
The interpreter will adapt to types and values during execution, exploiting [b]type stability[/b] in the program
---
Improved performance for [b]integers of less than one machine word[/b].
Improved peformance for [b]binary operators[/b].
---
Simple "JIT" compiler for small regions. Compile small regions of specialized code, using a relatively simple, fast compiler.
Extend regions for compilation. Enhance compiler to generate [b]superior machine code[/b].
питонисты готовят новую версию интерпретатора с революционной фичей - возможностью отъема денег у населения. Ожидается, что нововведение позволит языку быстро заработать очки на рынке пускания пыли в глаза.
https://github.com/markshannon/faster-cpython
0
#Это калькулятор
t=input("Введите колличество чисел (2 или 3): ")
if t == '3':
one=float(input("Введите первое число: "))
two=float(input("Введите второе число: "))
three=float(input("Введите третье число: "))
n=input("Введите первый знак: ")
if n != '+' and n != '-' and n != '*' and n != '/' :
print("Вы написали что-то неправильно")
else:
m=input("Введите второй знак: ")
if m != '+' and m != '-' and m != '*' and m != '/' :
print("Вы написали что-то неправильно")
else:
if n == '+':
if m == '+':
rez=one+two+three
print(rez)
elif m == '-':
rez=one+two-three
print(rez)
elif m == '*':
rez=one+two*three
print(rez)
elif m == '/':
rez=one+two/three
print(rez)
else:
print("Вы написали что-то неправильно")
elif n == '-':
if m == '+':
rez=one-two+three
print(rez)
elif m == '-':
rez=one-two-three
print(rez)
elif m == '*':
rez=one-two*three
print(rez)
elif m == '/':
rez=one-two/three
print(rez)
else:
print("Вы написали что-то неправильно")
elif n == '*':
if m == '+':
rez=one*two+three
print(rez)
elif m == '-':
rez=one*two-three
print(rez)
elif m == '*':
rez=one*two*three
print(rez)
elif m == '/':
rez=one*two/three
print(rez)
else:
print("Вы написали что-то неправильно")
elif n == '/':
if m == '+':
rez=one/two+three
print(rez)
elif m == '-':
rez=one/two-three
print(rez)
elif m == '*':
rez=one/two*three
print(rez)
elif m == '/':
rez=one/two/three
print(rez)
else:
print("Вы написали что-то неправильно")
else:
print("Вы написали что-то неправильно")
elif t == '2':
z=input("Введите знак: ")
if z != '+' and z != '-' and z != '*' and z != '/' :
print("Вы написали что-то неправильно")
else:
one=float(input("Введите первое число: "))
two=float(input("Введите второе число: "))
if z == '+':
rez=one+two
print(rez)
elif z == '-':
rez=one-two
print(rez)
elif z == '*':
rez=one*two
print(rez)
elif z == '/':
rez=one/two
print(rez)
else:
print("Вы написали что-то неправильно")
else :
print("Вы написали что-то неправильно")
Как можно сократить говнокод? Просто интересно... Спасибо)
0
for course_id in COURSES: #конфиги для слабаков, реальные пацаны хардкодят константы
participants = {}
print(f'Downloading course {course_id}...')
assignments = M.get_modules(course_id, 'assign')
captions = {item['instance'] : item['name'] for item in assignments}
rawsubs_per_assignment = M.get_submissions(captions.keys())
files = []
print('\tParsing assignments... ',end='')
for i,assign in ProgressBar.each(rawsubs_per_assignment, length=50, donefmt='[OK]\n', errorfmt='[FAIL]\n'):
#самописный прогресс-бар. В скрипте, который 90% времени запускается как демон.
assign_id = assign['assignmentid']
if assign_id not in participants:
lst = M.list_participants(assign_id)
participants[assign_id] = {i['id'] : i['fullname'] for i in lst}
for rs in assign['submissions']:
subfiles = M.get_submission_files(rs)
for sf in subfiles:
f = StoredFile( #самописный псевдо-ORM
id = None,
url = sf['fileurl'],
filename = sf['filename'],
downloaded = False,
size = sf['filesize'],
mimetype = sf['mimetype'],
timestamp = sf['timemodified'],
course = course_id,
instance = assign_id,
submission = rs['id'],
userid = rs['userid'],
username = participants[assign_id][rs['userid']])
files.append(f)
print('\tTotal of {0} assignments and {1} files.'.format(len(participants), len(files)))
print('\tUpdating database... ', end='')
with DB:
for i,f in ProgressBar.each(files, captionfunc = (lambda f:f.filename),
length=25, valuefmt='{ratio:.0%} ', donefmt='[OK]\n', errorfmt='[FAIL]\n'):
DB.update_file(f) #execute_many()? зачем? И так сойдёт.
files_to_download = list(DB.get_nonready_files())
if not files_to_download:
print('All files are up to date.')
else:
ok_count = 0
error_count = 0
print('Downloading missing files... ',end='')
for i,f in ProgressBar.each(files_to_download,
captionfunc = (lambda f: f'[{error_count} errors] {f.filename}'),
length=25, valuefmt='{ratio:4.0%} ', donefmt='[OK]\n', errorfmt='[FAIL]\n'):
#исчо один прогрессбар
path = localpath(f)
dir = os.path.dirname(path)
os.makedirs(dir, exist_ok = True)
if not verify(f):
try:
with open(path, "wb") as dest:
#зачем проверять размер скачиваемого файла или наличие контента?
source = M.get_download_fileobj(f.url)
shutil.copyfileobj(source, dest)
DB.mark_downloaded(f)
except:
error_count += 1
else:
ok_count += 1
else:
ok_count += 1
if error_count > 0:
print(f'{error_count} files failed to download!')
comparisons = list(DB.get_files_to_match())
if comparisons:
print('Matching non-compared files... ',end='')
log = open('errors.txt', 'wt', encoding='utf-8') #logging для слабаков
for i,(f1,f2) in ProgressBar.each(comparisons, length=25, valuefmt='{pos}/{max}', donefmt='[OK]\n', errorfmt='[FAIL]\n'):
#оптимизировать цикл, чтобы не читать один и тот же файл по 50 раз? Нафиг, работает же.
path1, path2 = localpath(f1), localpath(f2)
ok = True
if not verify(f1):
ok = False
DB.mark_downloaded(f1, False)
if not verify(f2):
ok = False
DB.mark_downloaded(f2, False)
if ok:
content1, content2 = None, None
try:
content1 = extract_content(path1)
content2 = extract_content(path2)
similarity = compare_content(content1, content2)
except Exception as E:
if content1 is None:
log.write(path1+'\n')
elif content2 is None:
log.write(path1+'\n')
else:
log.write('Comparison error!\n')
log.write(str(E)+'\n')
else:
DB.save_diff(f1, f2, similarity)
finally: #пусть сборщик мусора порадуется
del content1
del content2
log.close()
Написал тут скрипт, самому стыдно.
Но работает.
−1
def loadDevices(list_devices, db_name, db_user, db_host, db_password):
"""Загрузка устройств из базы данных"""
psql = ClassPSQL(db_name, db_user, db_host, db_password, db_port)
for group in psql.get("SELECT * FROM user_groups"):
group_id, _, _, available_devices = group
if (group_id != 0) and (available_devices != None):
for device in parceDeviceStr(available_devices):
if (findDevice(list_devices, int(device)) == None):
local_res= psql.get("SELECT * FROM device WHERE logic_id=" + str(device))
if len(local_res):
dev_id, _, port = local_res[0]
list_devices.append(ClassDevice(int(device), str(dev_id), int(port)))
findDevice(list_devices, int(device)).addGroupID(int(group_id))
else:
findDevice(list_devices, int(device)).addGroupID(int(group_id))
for device in psql.get("SELECT * FROM sm_devs"):
dev_id, logic_id, port = device
if (findDevice(list_devices, int(logic_id)) == None):
list_devices.append(ClassDevice(int(logic_id), str(dev_id), int(port)))
list_devices = sorted(list_devices, key=lambda device: device.getLogicID())
return list_devices
------------------------------------------
class ClassGroupDevices(object):
... много методов ...
def save(self):
"""Сохранение группы устройств в postgres"""
str_logic_ids = ""
for logic_id in self.getLogicIDs():
if (len(str_logic_ids) > 0):
str_logic_ids += "," + str(logic_id)
else:
str_logic_ids = str(logic_id)
if (self._psql.get("SELECT subgroup_id FROM us_dev_sgr WHERE (group_id='%s' and name='%s')" % (str(self.getGroupID()), self.getName()))):
self._psql.set("UPDATE us_dev_sgr SET logic_ids='%s' WHERE (group_id='%s' and name='%s')"\
% (str_logic_ids, str(self.getGroupID()), self.getName()))
else:
self._psql.set("INSERT INTO us_dev_sgr (group_id, name, logic_ids) VALUES ('%s', '%s', '%s')"\
% (str(self.getGroupID()), self.getName(), str_logic_ids))
------------------------------------------
class ClassSchedule(object):
... много методов ...
def save(self, psql, list_devices:list, conf, timezone:int, schedule_id:int = 0):
assert(isinstance(psql, ClassPSQL))
assert(isinstance(list_devices, list))
# assert(isinstance(conf, INIConfigLoader))
assert(isinstance(timezone, int))
assert(isinstance(schedule_id, int))
for date in self._list_date:
for logic_id in self._list_devices:
local_device = findDevice(list_devices, logic_id)
local_port, local_value = local_device.liquidity(self._action, conf, psql)
date_time = datetime.datetime.strptime(date + " " + self._time, "%d.%m.%Y %H:%M") - datetime.timedelta(hours = timezone)
psql.set("INSERT INTO device_exec_schedule (logicid, time, subgroup, port, value, group_id, answer) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s')" %
(str(logic_id), date_time, schedule_id, str(local_port), str(local_value), str(self._groups_id), "0"))
Была дана задача сишнику не знавшему Python написать сайт на Django за 4 дня. Знаете что? Он написал. (Названия таблиц в коде изменены, но смысл сохранён). Поддерживать код дали мне. А этот код из недр
0
def neuro_anec():
group_id = '85443458'
random.seed()
_vk_session = vk_api.VkApi(token=config.service)
_vk = _vk_session.get_api()
max_num = _vk.wall.get(owner_id=-int(group_id), count=0)['count']
try:
anec_base = ''
while len(anec_base.split('\n')) < 1 or anec_base == '':
num = random.randint(1, max_num)
anec_base = '\n'.join(
_vk.wall.get(owner_id=-int(group_id), count=1, offset=num)['items'][0]['text'].split('\n')[:-1])
num = random.randint(1, max_num)
anec_booter = _vk.wall.get(owner_id=-int(group_id), count=1, offset=num)['items'][0]['text'].split('\n')[-1]
return anec_base + '\n' + anec_booter
except:
return 'А хуй тебе'
Представляю вашему вниманию: ней(гей)росеть, генерирующая анеки категории Б
−1
number = input("Введите цифру от 1000, до 20000: >")
if int(number) < 1000 or int(number) > 20_000:
print("Неправильное число")
exit(0)
j = '' # сделать стринг
i = 0 # for
maximum = [] # поиск максимального числа
count = 0 # ошибка
while i < int(number):
i += 1 # ++
i_string = str(i)
j = i_string[::-1]
if int(i) + int(j) == int(number):
maximum.append(int(i))
count += 1 # ошибка
if count == 0:
print(0)
exit(0)
print(max(maximum))
Цель кода была в том, чтобы найти максимальный x, по формуле X+F(x) = N, где N число, которое ввели, а F(X) перевёрнутый X
x = 1234 f(x) = 4321