- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
a1=[gg for gg in range( 1, 9+ 1 , 1) ]
b1='';b2=""
for a in a1:
for A1 in a1:
b1=b1 + str(a)+'*' + str(A1)+ '=' +'%s' %str(int( a )* int(A1 ) )+" "
b2+=b1+ '\n'
del b1; b1=''
print(f'{b2}' )
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
a1=[gg for gg in range( 1, 9+ 1 , 1) ]
b1='';b2=""
for a in a1:
for A1 in a1:
b1=b1 + str(a)+'*' + str(A1)+ '=' +'%s' %str(int( a )* int(A1 ) )+" "
b2+=b1+ '\n'
del b1; b1=''
print(f'{b2}' )
ТаблицаУмножения
+2
def get_build_version():
"""Return the version of MSVC that was used to build Python.
For Python 2.3 and up, the version number is included in
sys.version. For earlier versions, assume the compiler is MSVC 6.
"""
prefix = "MSC v."
i = sys.version.find(prefix)
if i == -1:
return 6
i = i + len(prefix)
s, rest = sys.version[i:].split(" ", 1)
majorVersion = int(s[:-2]) - 6
if majorVersion >= 13:
# v13 was skipped and should be v14
majorVersion += 1
minorVersion = int(s[2:3]) / 10.0
# I don't think paths are affected by minor version in version 6
if majorVersion == 6:
minorVersion = 0
if majorVersion >= 6:
return majorVersion + minorVersion
# else we don't know what version of the compiler this is
return None
Определение версии конпелятора, которой был собран «CPython».
0
IT Оффтоп #48
#1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
#2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
#3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
#4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
#5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
#6: (vanished) https://govnokod.xyz/_24063
#7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
#8: (vanished) https://govnokod.xyz/_24815
#9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
#10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
#11: (vanished) https://govnokod.xyz/_25436
#12: (vanished) https://govnokod.xyz/_25471
#13: (vanished) https://govnokod.xyz/_25590
#14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
#15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
#16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
#17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
#18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
#19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
#20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
#21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
#22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
#23: https://govnokod.ru/25863 https://govnokod.xyz/_25863
#24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
#25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
#26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
#27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
#28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
#29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
#30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
#31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
#32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
#33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
#34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
#35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
#36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
#37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
#38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
#39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
#40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
#41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
#42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
#47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
0
Для уу = 0 по ИндексПЭ-1 цикл
// ** вычисление продаж в розницу**
Если Отчет.НетСобственныхТорговыхСетей Тогда
ПроданоВРозницу = Окр(ОН[уу], 4) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_5[уу] - Окр(ОК[уу],4);
//ПроданоВРозницу = Окр(ОН[уу], 6) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_5[уу] - Окр(ОК[уу], 6);
//п5_7[уу]=п5_7[уу]+ПроданоВРозницу;
п5_7[уу]=ПроданоВРозницу;
Иначе
ПроданоВРозницу = Окр(ОН[уу], 4) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_7[уу] - Окр(ОК[уу], 4);
//ПроданоВРозницу = Окр(ОН[уу], 6) + п4_1[уу] + п4_2[уу] + п4_3[уу] - п5_2[уу] - п5_3[уу] - п5_4[уу] - п5_5[уу] - п5_7[уу] - Окр(ОК[уу], 6);
п5_5[уу] = п5_5[уу] + ПроданоВРозницу;
КонецЕсли;
// ** вычисление колонки Итого ***
Если Отчет.ТабачныеИзделия Тогда
Если уу = 8 Тогда // уу=6 или уу=5
//колонку "Тонны" в колонку итог "млн. штук" не смешиваем....
Продолжить;
КонецЕсли;
КонецЕсли;
п4_1[ИндексПЭ] = п4_1[ИндексПЭ] + п4_1[уу];
п4_1_1[ИндексПЭ] = п4_1_1[ИндексПЭ] + п4_1_1[уу];
п4_1_2[ИндексПЭ] = п4_1_2[ИндексПЭ] + п4_1_2[уу];
п4_1_3[ИндексПЭ] = п4_1_3[ИндексПЭ] + п4_1_3[уу];
п4_2[ИндексПЭ] = п4_2[ИндексПЭ] + п4_2[уу];
п4_3[ИндексПЭ] = п4_3[ИндексПЭ] + п4_3[уу];
п5_2[ИндексПЭ] = п5_2[ИндексПЭ] + п5_2[уу];
п5_3[ИндексПЭ] = п5_3[ИндексПЭ] + п5_3[уу];
п5_4[ИндексПЭ] = п5_4[ИндексПЭ] + п5_4[уу];
п5_5[ИндексПЭ] = п5_5[ИндексПЭ] + п5_5[уу];
п5_7[ИндексПЭ] = п5_7[ИндексПЭ] + п5_7[уу];
ОН[ИндексПЭ] = ОН[ИндексПЭ] + ОН[уу];
ОК[ИндексПЭ] = ОК[ИндексПЭ] + ОК[уу];
Конеццикла;
Для уу = 0 по ИндексПЭ цикл
п5[уу] =п5_2[уу] + п5_3[уу] + п5_4[уу] + п5_5[уу] + п5_7[уу];
п4[уу] =п4_1[уу] + п4_2[уу] + п4_3[уу];
Конеццикла;
Работаю в крупной торговой сети РБ, конфигурация переделана с 7.7 на 8-ку.
Прилетает сегодня задачка от буха "Не сходятся цифры в алкогольной декларации", захожу в модуль отчета, в котором 2600 строк кода, вроде этого(этот самый сочный), и тут я понял что хочу уволиться))
Не смог себя сдержать и решил этим поделиться) думаю тут этому коду самое место
+1
Если НЕ Объект.Валютный Тогда
Объект.ПересчитыватьВалютнуюСумму=Ложь;
Иначе
Объект.ПересчитыватьВалютнуюСумму=Истина;
КонецЕсли;
Типовая УХ
+1
// https://godbolt.org/z/QAR_nT
// https://govnokod.ru/26701#comment550329
#include <cstddef>
#include <string>
#include <cassert>
struct assert_failure
{
explicit assert_failure(const char *sz)
{
std::fprintf(stderr, "Assertion failure: %s\n", sz);
std::quick_exit(EXIT_FAILURE);
}
};
// эта херня не совсем корректно будет обрабатывать всякую хрень вроде ", , , " - оно это посчитает за 4 аргумента,
// и если считать " скобочки, тогда еще надо запилить обработку эскейп-последовательности, для хуйни типа "pidor\" govno"
// но мне лень эту хуйню допиливать.
constexpr std::size_t count_args(const char *s, std::size_t depth = 0, std::size_t pos = 0, std::size_t count = 0)
{
if (s[pos] == '\0'){
if(depth != 0)
throw assert_failure("kakoi bagor)))\n");
if(pos == 0)
return 0;
return count+1;
}
else if(s[pos] == '{')
{
return count_args(s, depth + 1, pos + 1, count);
}
else if(s[pos] == '}')
{
if(depth == 0)
throw assert_failure("kakoi bagor)))\n");
return count_args(s, depth - 1, pos + 1, count);
}
else if(depth == 0)
{
if(s[pos] == ',')
{
return count_args(s, depth, pos + 1, count + 1);
}
}
return count_args(s, depth, pos+1, count);
}
#define TO_STR(...) #__VA_ARGS__
#define ARGNUM(...) count_args(TO_STR(__VA_ARGS__))
#define krestogovnotypeof(a) std::remove_reference<a>::type
#define FOR_RANGE(type, varname, ...) for(struct {size_t cnt; krestogovnotypeof(type) arr[ ARGNUM(__VA_ARGS__) ]; } varname = {0, {__VA_ARGS__}}; varname.cnt < sizeof(varname.arr)/sizeof(type); ++varname.cnt )
int main(void)
{
FOR_RANGE(int[2], k, {1,2}, {3,4}, {5,6}, {7,8})
printf("{%d %d},\n", k.arr[k.cnt][0], k.arr[k.cnt][1]);
return EXIT_SUCCESS;
}
Какая крестопараша((( В вижуальхуюдии вроде собирается, но проверить корректность работы не могу. Как вы этим днищекомпилятором вообще пользуетесь?
Было б круто, если бы были такие constexpr функции, которые в компилтайме могут куски исходного кода высирать как бы прямо в исходник, и потом уже чтоб это компилировалось
0
<!DOCTYPE html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<canvas id='pixel_canvas'></canvas>
<pre id='text_canvas'></pre>
<script>
'use strict';
function tryFetch() {
const array = arguments[0];
const onError = arguments[arguments.length - 1];
let result = array;
for (let i = 1; i < arguments.length - 1; ++i) {
if (arguments[i] < result.length) {
result = result[arguments[i]];
} else {
return onError;
}
}
return result;
}
function bitmap2tetramap(bitmap) {
let tetramap = []
for (let i = 0; i < bitmap.length; i += 2) {
tetramap.push([]);
for (let j = 0; j < bitmap[i].length; j += 2) {
tetramap[tetramap.length - 1].push(
tryFetch(bitmap, i, j, 0) << 3 |
tryFetch(bitmap, i, j + 1, 0) << 2 |
tryFetch(bitmap, i + 1, j, 0) << 1 |
tryFetch(bitmap, i + 1, j + 1, 0)
);
}
}
return tetramap;
}
function renderTetramap(tetramap) {
const tiles = [
' ', '▗', '▖', '▄',
'▝', '▐', '▞', '▟',
'▘', '▚', '▌', '▙',
'▀', '▜', '▛', '█'
];
return tetramap.map(row => row.map(i => tiles[i]).join('')).join('<br>');
}
function renderBitmap(bitmap) {
return renderTetramap(bitmap2tetramap(bitmap));
}
function rgba2bitmap(rgba, width, height) {
let bitmap = [];
for (let i = 0; i < height; ++i) {
bitmap.push([]);
for (let j = 0; j < width; ++j) {
const currentRGBAElementIndex = (i * width * 4) + j * 4;
const red = rgba[currentRGBAElementIndex];
const green = rgba[currentRGBAElementIndex + 1];
const blue = rgba[currentRGBAElementIndex + 2];
const a = rgba[currentRGBAElementIndex + 3];
bitmap[i].push((red + green + blue + a) / 4 > 0? 1 : 0);
}
}
return bitmap;
}
function renderImageData(imageData) {
return renderBitmap(rgba2bitmap(imageData.data, imageData.width, imageData.height));
}
const ctx = pixel_canvas.getContext("2d");
ctx.font = "16px serif";
ctx.fillText("Какой багор )))", 0, 16);
text_canvas.innerHTML = renderImageData(ctx.getImageData(0, 0, pixel_canvas.width, pixel_canvas.height));
</script>
</body>
+3
// https://youtu.be/KdZ4HF1SrFs?t=4473
// про питоновский for
for x in 1, 5, 2, 4, 3
print(x**2)
//> написать это в две строки у вас не получится
for(struct {size_t cnt; int arr[5];} i = {0, {1,5,2,4,3}}; i.cnt < sizeof(i.arr)/sizeof(i.arr[0]); ++i.cnt )
printf("%d ", (int)(pow(i.arr[i.cnt], 2) + 0.5) );
В Си я могу и в 1 строку эту хуйню написать.
0
int ACMEncoder::Encode(int framepos, void *in, int in_avail, int *in_used, void *out, int out_avail)
{
char *pin = (char *)in;
char *pout = (char *)out;
int retval = 0;
if (!m_did_header && do_header)
{
int s = 44;
s = 4 + 4 + 12 - 4;
int t;
if (m_convert_wfx.wfx.wFormatTag == WAVE_FORMAT_PCM) t = 0x10;
else t = sizeof(WAVEFORMATEX) + m_convert_wfx.wfx.cbSize;
s += 4 + t;
if (s&1) s++;
if (m_convert_wfx.wfx.wFormatTag != WAVE_FORMAT_PCM)
s += 12;
s += 8;
if (out_avail < s) return 0;
//xx bytes of randomness
m_hlen = s;
m_did_header = 1;
out_avail -= s;
pout += s;
retval = s;
}
«Winamp» спиздили.
0
Код с продакшена рабочего проекта :-D
Dim got_new_batch As Boolean = False
Dim batch_numb As Integer = 0
Dim temp_batch As Integer = 0
While got_new_batch = False
temp_batch = objRandom.Next(400000000)
If check_batch_avaliable(temp_batch) = True Then
got_new_batch = True
batch_numb = temp_batch
End If
End While
Public Function check_batch_avaliable(ByVal batch_number As Integer) As Boolean
'CWC-7/11/2016-Rewritten to avoid runtime error
Dim RC As Integer = -1
Dim DBConnection As New IfxConnection(INFXConnectionStr_RPCentral)
'Try
Dim SQL As String = ""
SQL = " select first 1 batch_numb from " + System.Configuration.ConfigurationManager.AppSettings("InformixTable") + " where batch_numb = " & batch_number
Dim DBCommand As New IfxCommand(SQL, DBConnection)
DBCommand.CommandType = CommandType.Text
DBCommand.CommandTimeout = 200
DBConnection.Open()
RC = CInt(DBCommand.ExecuteScalar())
DBConnection.Close()
' Catch ex As Exception
' Dim ErrMsg = ex.Message
' Finally
If Not DBConnection Is Nothing Then
If DBConnection.State = ConnectionState.Open Then
DBConnection.Close()
End If
DBConnection = Nothing
End If
' End Try
If RC > 0 Then
Return False
Else
Return True
End If
End Function