fork download
  1. # ヒット&ブロー
  2.  
  3. # coding:utf-8
  4. import random
  5.  
  6. cpu = [random.randint(0, 9),
  7. random.randint(0, 9),
  8. random.randint(0, 9),
  9. random.randint(0, 9)]
  10.  
  11. # テスト用
  12. # print(str(cpu[0]) + str(cpu[1]) + str(cpu[2]) + str(cpu[3]))
  13.  
  14. while True:
  15. # 4桁の半角数字かを判定
  16. ok = False
  17. while ok == False:
  18. your = input("半角の0~9を4桁入力して下さい>")
  19. if len(your) != 4:
  20. print("ぴったり4桁入力して下さい")
  21. else:
  22. numok = True
  23. for i in range(4):
  24. if (your[i] < "0") or (your[i] > "9"):
  25. print("半角の0~9を入力して下さい")
  26. numok = False
  27. break
  28. if numok :
  29. ok = True
  30.  
  31. # 半角4桁の数字なら
  32. # ヒットを判定
  33. hit = 0
  34. for i in range(4):
  35. if cpu[i] == int(your[i]):
  36. hit = hit + 1
  37.  
  38. # ブローを判定
  39. blow = 0
  40. for j in range(4):
  41. for i in range(4):
  42. if (int(your[j]) == cpu[i]) and (cpu[i] != int(your[i])) and (cpu[j] != int(your[j])):
  43. blow = blow + 1
  44. break
  45.  
  46. # ヒット数とブロー数を表示
  47. print("ヒット " + str(hit))
  48. print("ブロー " + str(blow))
  49.  
  50. # ヒットが4なら終了
  51. if hit == 4:
  52. print("当たりです!")
  53. break
  54.  
Runtime error #stdin #stdout #stderr 0.05s 11900KB
stdin
0123
4567
8901
2345
6789
stdout
半角の0~9を4桁入力して下さい>ヒット 0
ブロー 2
半角の0~9を4桁入力して下さい>ヒット 0
ブロー 2
半角の0~9を4桁入力して下さい>ヒット 0
ブロー 1
半角の0~9を4桁入力して下さい>ヒット 1
ブロー 1
半角の0~9を4桁入力して下さい>ヒット 0
ブロー 1
半角の0~9を4桁入力して下さい>
stderr
Traceback (most recent call last):
  File "./prog.py", line 18, in <module>
EOFError: EOF when reading a line