- 1
print('HELLO')
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−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
+1
https://docs.python.org/3.9/whatsnew/3.9.html#optimizations
См 38 -- > 3.9