1
0
mirror of https://github.com/satwikkansal/wtfpython synced 2024-06-01 19:08:04 +02:00

Translate goto, but why? example

This commit is contained in:
Vadim Nifadev 2024-04-24 11:58:51 +03:00
parent 662b720b5c
commit 124b0f027d

View File

@ -2944,3 +2944,33 @@ Sshh... It's a super-secret.
+ Это еще не все. Внутри пасхального яйца находится **еще одно пасхальное яйцо**. Если вы посмотрите на [код](https://github.com/python/cpython/blob/master/Lib/antigravity.py#L7-L17), там определена функция, которая якобы реализует [алгоритм геохашинга XKCD](https://xkcd.com/426/).
---
### ▶ `goto`, но почему?
<!-- Example ID: 2aff961e-7fa5-4986-a18a-9e5894bd89fe --->
```py
from goto import goto, label
for i in range(9):
for j in range(9):
for k in range(9):
print("I am trapped, please rescue!")
if k == 2:
goto .breakout # выход из глубоко вложенного цикла
label .breakout
print("Freedom!")
```
**Результат (Python 2.3):**
```py
I am trapped, please rescue!
I am trapped, please rescue!
Freedom!
```
#### 💡 Объяснение:
- Рабочая версия `goto` в Python была [анонсирована](https://mail.python.org/pipermail/python-announce-list/2004-April/002982.html) в качестве первоапрельской шутки 1 апреля 2004 года.
- В текущих версиях Python этот модуль отсутствует.
- Хотя он работает, но, пожалуйста, не используйте его. Вот [причина](https://docs.python.org/3/faq/design.html#why-is-there-no-goto) того, почему `goto` отсутствует в Python.
---