自分を大蛇丸と信じて止まない一般男性が、ウマになる関数を作って優勝する投稿です。

プログラミング言語でPythonっていう蛇の言語があるんだけど
[蛇語(パーセルタング)](https://harrypotter.fandom.com/ja/wiki/%E3%83%91%E3%83%BC%E3%82%BB%E3%83%AB%E3%82%BF%E3%83%B3%E3%82%B0)ができなくても扱えるらしいわ

ということで今回は
Pythonでウマになる関数を作って
優勝していくことにするわね

## UTF-8の4バイト文字

まずは動物の絵文字の解説から始めるわね

UTF-8で動物の絵文字は「F0 9F 90 80」から「F0 9F 90 BC」あたりにあるらしいわ
理由は知らないけどね～

一覧にしてみるとこんな感じよ

| 16進数      | 10進数          |     |
| ----------- | --------------- | --- |
| F0 9F 90 80 | 240 159 144 128 | 🐀  |
| F0 9F 90 81 | 240 159 144 129 | 🐁  |
| F0 9F 90 82 | 240 159 144 130 | 🐂  |
| F0 9F 90 83 | 240 159 144 131 | 🐃  |
| F0 9F 90 84 | 240 159 144 132 | 🐄  |
| F0 9F 90 85 | 240 159 144 133 | 🐅  |
| F0 9F 90 86 | 240 159 144 134 | 🐆  |
| F0 9F 90 87 | 240 159 144 135 | 🐇  |
| F0 9F 90 88 | 240 159 144 136 | 🐈  |
| F0 9F 90 89 | 240 159 144 137 | 🐉  |
| F0 9F 90 8A | 240 159 144 138 | 🐊  |
| F0 9F 90 8B | 240 159 144 139 | 🐋  |
| F0 9F 90 8C | 240 159 144 140 | 🐌  |
| F0 9F 90 8D | 240 159 144 141 | 🐍  |
| F0 9F 90 8E | 240 159 144 142 | 🐎  |
| F0 9F 90 8F | 240 159 144 143 | 🐏  |
| F0 9F 90 90 | 240 159 144 144 | 🐐  |
| F0 9F 90 91 | 240 159 144 145 | 🐑  |
| F0 9F 90 92 | 240 159 144 146 | 🐒  |
| F0 9F 90 93 | 240 159 144 147 | 🐓  |
| F0 9F 90 94 | 240 159 144 148 | 🐔  |
| F0 9F 90 95 | 240 159 144 149 | 🐕  |
| F0 9F 90 96 | 240 159 144 150 | 🐖  |
| F0 9F 90 97 | 240 159 144 151 | 🐗  |
| F0 9F 90 98 | 240 159 144 152 | 🐘  |
| F0 9F 90 99 | 240 159 144 153 | 🐙  |
| F0 9F 90 9A | 240 159 144 154 | 🐚  |
| F0 9F 90 9B | 240 159 144 155 | 🐛  |
| F0 9F 90 9C | 240 159 144 156 | 🐜  |
| F0 9F 90 9D | 240 159 144 157 | 🐝  |
| F0 9F 90 9E | 240 159 144 158 | 🐞  |
| F0 9F 90 9F | 240 159 144 159 | 🐟  |
| F0 9F 90 A0 | 240 159 144 160 | 🐠  |
| F0 9F 90 A1 | 240 159 144 161 | 🐡  |
| F0 9F 90 A2 | 240 159 144 162 | 🐢  |
| F0 9F 90 A3 | 240 159 144 163 | 🐣  |
| F0 9F 90 A4 | 240 159 144 164 | 🐤  |
| F0 9F 90 A5 | 240 159 144 165 | 🐥  |
| F0 9F 90 A6 | 240 159 144 166 | 🐦  |
| F0 9F 90 A7 | 240 159 144 167 | 🐧  |
| F0 9F 90 A8 | 240 159 144 168 | 🐨  |
| F0 9F 90 A9 | 240 159 144 169 | 🐩  |
| F0 9F 90 AA | 240 159 144 170 | 🐪  |
| F0 9F 90 AB | 240 159 144 171 | 🐫  |
| F0 9F 90 AC | 240 159 144 172 | 🐬  |
| F0 9F 90 AD | 240 159 144 173 | 🐭  |
| F0 9F 90 AE | 240 159 144 174 | 🐮  |
| F0 9F 90 AF | 240 159 144 175 | 🐯  |
| F0 9F 90 B0 | 240 159 144 176 | 🐰  |
| F0 9F 90 B1 | 240 159 144 177 | 🐱  |
| F0 9F 90 B2 | 240 159 144 178 | 🐲  |
| F0 9F 90 B3 | 240 159 144 179 | 🐳  |
| F0 9F 90 B4 | 240 159 144 180 | 🐴  |
| F0 9F 90 B5 | 240 159 144 181 | 🐵  |
| F0 9F 90 B6 | 240 159 144 182 | 🐶  |
| F0 9F 90 B7 | 240 159 144 183 | 🐷  |
| F0 9F 90 B8 | 240 159 144 184 | 🐸  |
| F0 9F 90 B9 | 240 159 144 185 | 🐹  |
| F0 9F 90 BA | 240 159 144 186 | 🐺  |
| F0 9F 90 BB | 240 159 144 187 | 🐻  |
| F0 9F 90 BC | 240 159 144 188 | 🐼  |


## 10進数から絵文字へ変換するわね

正直大した数じゃないから 全部並べたリストを作っちゃてもいいんだけど
折角だから今回は `bytes型` を使っていくわ

`bytes型` のコンストラクタに10進数で作った配列を

**潜影蛇手!!**

```python
bytes([240, 159, 148, 180])
```

そして `decode()` メソッドに `'utf-8'` を潜影蛇手したら

```python
bytes([240, 159, 148, 180]).decode('utf-8')
```

```
🔴
```

あらやだぁ～💗
サスケくんの写輪眼みたぁい💗

## ランダムにしてみるわ

`random` モジュールから `randrange` を

**忍法 口寄せの術**

```python
from random import randrange
```

`randrange` は指定した範囲の整数の乱数を返してくれるわ

```python
randrange(10)  # 0から9までの乱数
randrange(3, 6)  # 3から5までの乱数
```

範囲の指定の仕方は `range` と同じだから簡単ね

この乱数を利用するとランダムに **ウマ** を取得できるの

```python
uma = bytes([240, 159, 144, randrange(128, 189)]).decode('utf-8')
```

## 関数にするわね

ランダムに取得した **ウマ** を
`format()` に **潜影蛇手** して 盛り付けたらたら完成ね

```python
from random import randrange

def become_uma():
    """ウマすぎてウマになる関数"""
    uma = bytes([240, 159, 144, randrange(128, 189)]).decode('utf-8')
    print('ウマすぎてウマになったわね{}'.format(uma))
```

## 実食といくわ

```python
for i in range(10):
    # ※一般男性超絶反復
    become_uma()
```

```
ウマすぎてウマになったわね🐷
ウマすぎてウマになったわね🐥
ウマすぎてウマになったわね🐑
ウマすぎてウマになったわね🐄
ウマすぎてウマになったわね🐣
ウマすぎてウマになったわね🐈
ウマすぎてウマになったわね🐑
ウマすぎてウマになったわね🐱
ウマすぎてウマになったわね🐪
ウマすぎてウマになったわね🐙
```

## はい、エドテン🙏🐍