前提・実現したいこと
ここに質問の内容を詳しく書いてください。
pythonで数当てゲーム、ヒット&ブローを作っています。
結果を出力したいのですが、なぜか同じ結果が必要以上に出てしまいます。
原因が分からないので、教えて欲しいです。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
ヒット3
ブロー0
該当のソースコード
#coding:utf-8 import random a=[random.randint(0,9), random.randint(0,9), random.randint(0,9), random.randint(0,9),] print(str(a[0])+str(a[1])+str(a[2])+str(a[3])) isok=False while isok == False: b=input("数を入れてね") if len(b) !=4: print("4桁の数を入力してください") else: kazuok=True for i in range(4): if (b[i]<"0")or(b[i]>"9"): print("数ではありません") kazuok=False break if kazuok: isok=True print(b[0]) print(b[1]) print(b[2]) print(b[3]) hit=0 for i in range(4): if a[i] == int(b[i]): hit=hit+1 blow=0 for j in range(4): for i in range(4): if(int(b[j])==a[i])and(a[i]!=int(b[i]))and(a[j]!=int(b[j])): blow=blow+1 break print("ヒット"+str(hit)) print("ブロー"+str(blow)) if hit==4: print("当たり!") break
試したこと
googleで調べた
なぜこうなるのかを考えた
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー