見出し画像

[Python]30行で作る2進数トレーニングゲーム

1.2進数トレーニングゲーム

コンピュータ側からランダムに出題される10進数の値をユーザーが2進数に変換して答えていくゲームです。間違えるまで、どれだけの正解数を叩き出せるかを競います。

2.コード

from random import randint

#コンピュターの出題する10進数とユーザーのの2進数が一致しているか確認する関数
def eq_dec_bin(dec, bin):
    dec_to_bin = int(format(dec, "b"))
    if dec_to_bin == bin:
        return (True, "Good!")
    else:
        return (False, "Boo!")
#正解数
clear_num = 0

while True:
    game_flag = int(input("1:START/0:END:"))
    if game_flag == 1:
        num = randint(0, 256)
        print("{0:^10}".format(num))
        ans = int(input("Convert to binary!:"))
        judge, state = eq_dec_bin(num, ans)
        if judge:
            clear_num += 1
            print(state)
        else:
            print(state)
            break
    elif game_flag == 0:
        break
    else:
        continue

print("CLEAR:{0}".format(clear_num))    

3.実行結果

1:START/0:END:1
   127    
Convert to binary!:1111111
Good!
1:START/0:END:1
    60    
Convert to binary!:111100      
Good!
1:START/0:END:1
   185    
Convert to binary!:10111001
Good!
1:START/0:END:0
CLEAR:3


この記事が気に入ったらサポートをしてみませんか?