
Photo by
hi_mitsuke
[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