Skip to content

4. Дьяков Григорий Александрович. 614 - #60

Open
dyakovgregory-bot wants to merge 9 commits into
python-department:mainfrom
dyakovgregory-bot:main
Open

dyakovgregory-bot wants to merge 9 commits into
python-department:mainfrom
dyakovgregory-bot:main

Conversation

@dyakovgregory-bot

Copy link
Copy Markdown

No description provided.

@github-actions github-actions Bot added the 614 label Sep 25, 2026

@EvgrafovMichail EvgrafovMichail left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В целом решение аккуратное. Но из-за неверное реализации read_current_millis часть тестов не проходит.

Итог: 6/10

Comment thread src/part1/snowflake.py
"""
# TODO: реализуйте функцию
return 0
return (snowflake_id >> (NODE_ID_MAX + SEQUENCE_ID_MAX)) + epoch_ms

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Идея правильная, но реализация неверная: значение сдвига не то. Правый аргумент сдвига - число битов, на которое этот сдвиг совершается. Число snowflake_id состоит из 63 битов, а у вас только NODE_ID_MAX имеет значение 1023. Т.е. вы на очень большое значение вправо все сдвините, получите 0 и прибавите к нему epoch_ms. В итоге функция всегда возвращает значение epoch_ms.

Comment thread src/part1/snowflake.py
print(f"sequence_id must be in [0, {SEQUENCE_ID_MAX}], but is {sequence_id}")
return None

timestamp = read_current_millis(epoch_ms)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Из-за ошибки в read_current_millis тесты на генерацию ID не проходят, т.к. timestamp некорректно считается.

@dyakovgregory-bot dyakovgregory-bot changed the title 1. Дьяков Григорий Александрович. 614 4. Дьяков Григорий Александрович. 614 Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants