# ヒット&ブロー
# coding:utf-8
import random
cpu = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]
# テスト用
# print(str(cpu[0]) + str(cpu[1]) + str(cpu[2]) + str(cpu[3]))
while True:
# 4桁の半角数字かを判定
ok = False
while ok == False:
your = input("半角の0~9を4桁入力して下さい>")
if len(your) != 4:
print("ぴったり4桁入力して下さい")
else:
numok = True
for i in range(4):
if (your[i] < "0") or (your[i] > "9"):
print("半角の0~9を入力して下さい")
numok = False
break
if numok :
ok = True
# 半角4桁の数字なら
# ヒットを判定
hit = 0
for i in range(4):
if cpu[i] == int(your[i]):
hit = hit + 1
# ブローを判定
blow = 0
for j in range(4):
for i in range(4):
if (int(your[j]) == cpu[i]) and (cpu[i] != int(your[i])) and (cpu[j] != int(your[j])):
blow = blow + 1
break
# ヒット数とブロー数を表示
print("ヒット " + str(hit))
print("ブロー " + str(blow))
# ヒットが4なら終了
if hit == 4:
print("当たりです!")
break
IyDjg5Ljg4Pjg4jvvIbjg5bjg63jg7wKCiMgY29kaW5nOnV0Zi04CmltcG9ydCByYW5kb20KCmNwdSA9IFtyYW5kb20ucmFuZGludCgwLCA5KSwKICAgICAgIHJhbmRvbS5yYW5kaW50KDAsIDkpLAogICAgICAgcmFuZG9tLnJhbmRpbnQoMCwgOSksCiAgICAgICByYW5kb20ucmFuZGludCgwLCA5KV0KCiMg44OG44K544OI55SoCiMgcHJpbnQoc3RyKGNwdVswXSkgKyBzdHIoY3B1WzFdKSArIHN0cihjcHVbMl0pICsgc3RyKGNwdVszXSkpCgp3aGlsZSBUcnVlOgogICAgIyA05qGB44Gu5Y2K6KeS5pWw5a2X44GL44KS5Yik5a6aCiAgICBvayA9IEZhbHNlCiAgICB3aGlsZSBvayA9PSBGYWxzZToKICAgICAgICB5b3VyID0gaW5wdXQoIuWNiuinkuOBrjDvvZ4544KSNOahgeWFpeWKm+OBl+OBpuS4i+OBleOBhD4iKQogICAgICAgIGlmIGxlbih5b3VyKSAhPSA0OgogICAgICAgICAgICBwcmludCgi44G044Gj44Gf44KKNOahgeWFpeWKm+OBl+OBpuS4i+OBleOBhCIpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgbnVtb2sgPSBUcnVlCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDQpOgogICAgICAgICAgICAgICAgaWYgKHlvdXJbaV0gPCAiMCIpIG9yICh5b3VyW2ldID4gIjkiKToKICAgICAgICAgICAgICAgICAgICBwcmludCgi5Y2K6KeS44GuMO+9njnjgpLlhaXlipvjgZfjgabkuIvjgZXjgYQiKQogICAgICAgICAgICAgICAgICAgIG51bW9rID0gRmFsc2UKICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBpZiBudW1vayA6CiAgICAgICAgICAgICAgICBvayA9IFRydWUKCiAgICAjIOWNiuinkjTmoYHjga7mlbDlrZfjgarjgokKICAgICMg44OS44OD44OI44KS5Yik5a6aCiAgICBoaXQgPSAwCiAgICBmb3IgaSBpbiByYW5nZSg0KToKICAgICAgICBpZiBjcHVbaV0gPT0gaW50KHlvdXJbaV0pOgogICAgICAgICAgICBoaXQgPSBoaXQgKyAxCgogICAgIyDjg5bjg63jg7zjgpLliKTlrpoKICAgIGJsb3cgPSAwCiAgICBmb3IgaiBpbiByYW5nZSg0KToKICAgICAgICBmb3IgaSBpbiByYW5nZSg0KToKICAgICAgICAgICAgaWYgKGludCh5b3VyW2pdKSA9PSBjcHVbaV0pIGFuZCAoY3B1W2ldICE9IGludCh5b3VyW2ldKSkgYW5kIChjcHVbal0gIT0gaW50KHlvdXJbal0pKToKICAgICAgICAgICAgICAgIGJsb3cgPSBibG93ICsgMQogICAgICAgICAgICAgICAgYnJlYWsKCiAgICAjIOODkuODg+ODiOaVsOOBqOODluODreODvOaVsOOCkuihqOekugogICAgcHJpbnQoIuODkuODg+ODiCAiICsgc3RyKGhpdCkpCiAgICBwcmludCgi44OW44Ot44O8ICIgKyBzdHIoYmxvdykpCgogICAgIyDjg5Ljg4Pjg4jjgYw044Gq44KJ57WC5LqGCiAgICBpZiBoaXQgPT0gNDoKICAgICAgICBwcmludCgi5b2T44Gf44KK44Gn44GZ77yBIikKICAgICAgICBicmVhawo=