ymLogs

学びとゲームとITと。

【Python】世界のナベアツを完全(?)再現プログラミング

Pythonの基本であるif文、for文、defによる関数の定義などがまとめて復習できちゃうということで

世界のナベアツ氏の持ちネタ「3の倍数と3のつく数字でアホになる」やつを再現してみました!!

プログラミングの練習には使い古されてるみたいで思いっきり既出ネタですね。

 

※下の「.pyファイルの中身」はコピペして実行してもうまくいかないのでご了承ください。

.pyファイルの中身

def AHOcheck(n):  #アホチェック定義
    if n%3==0: #3の倍数チェック
        return True
    else:
        for x in str(n): #3のつく数字チェック(文字列を分解して1文字ずつ)
            if int(x)==3: 
                return True
    return False

 

for x in range(100): #100まで数える
    n=x+1     #繰り返し1周目は0だから1からにしたい
    if AHOcheck(n):
        print(f"{n}ン!!") #アホチェックTrueでアホになる
    else:
        print(str(n)) #アホチェックFalseでアホにならない

 

実行結果

1
2
3ン!!
4
5
6ン!!
7
8
9ン!!
10
11
12ン!!
13ン!!
14
15ン!!
16
17
18ン!!
19
20
21ン!!
22
23ン!!
24ン!!
25
26
27ン!!
28
29
30ン!!
31ン!!
32ン!!
33ン!!

 

(中略)

 

89
90ン!!
91
92
93ン!!
94
95
96ン!!
97
98
99ン!!
100

最後に

プログラムどうこうじゃなく、アホになる表現をどうするかが一番の悩みどころでしたね。「3ン!!」はまだ許せても「6ン!!」とか違和感しかなかったですが、アホっぽいのでヨシ!という結論に至りました。

語尾で場合分けとか単純にめんどくさかっただけです。

 

Pythonまだまだ初心者なんですが、いい復習になりました。

 

今回使ったPythonの文法とかは以下の記事「~Python備忘録」にまとめてあるので良ければこちらもどうぞ。#1~#3の全3回あります。

#3のつく数字チェック は「Python備忘録 #2」の、for文について書いてある部分の「文字列に対する繰り返し」という項目を応用してます。

 

それではまた。

ymlogs.hateblo.jp

【Python】プログラミング初学者が初学者目線で書くPython備忘録 #1【print】 - ymLogs

【Python】プログラミング初学者が初学者目線で書くPython備忘録 #2 【リスト、if、for、while】 - ymLogs

【Python】プログラミング初学者が初学者目線で書くPython備忘録 #3【def】 - ymLogs