숫자야구를 간략화 시켜서 주는 값을 고정 시키고 맞추는 값만 입력 받는 프로그램인데

보다시피 2스트라이크 2볼이 나와야하는데 0스0볼이 나옵니다. 어떻게 해야하나요?


간략화 시킨 코드


user_input = []

numbers=[3,2,0,6]

strike=0

ball=0

user_input = input("중복되지 않는 0 이상 9 이하의 정수 4자리를 입력하세요. : ")

for i in range(4):

    if user_input[i] == numbers[i]:

        strike += 1

    elif user_input[i] in numbers:

        ball += 1

print("입력한 숫자 : {}, 결과 : {}스트라이크 {}볼".format(user_input, strike, ball))


전체 코드 (숫자 고르기, 중복된 숫자 거르기, 4자리가 아닌숫자 거르기 코드)


import random       #무작위로 숫자를 고르는 명령어를 쓸수있게 해줌

numbers = []         #리스트 선언

while len(numbers)<4:         #선언한 리스트의 길이가 4 미만일동안 반복함

    num = random.randrange(0,10)      #num은 1이상 10미만의 무작위 정수임

    if num not in numbers:

        numbers.append(num)

        """

만약 randrange에서 골라낸 정수가 numbers(list)에

없었던 정수라면  numbers(list)에 num을 추가함.


        """

print(numbers)

"""

    중복되지않는 numbers가 제대로 뽑혔는지 확인하는코드(실행시 삭제)

"""

user_input = []

user_input = input("중복되지 않는 0 이상 9 이하의 정수 4자리를 입력하세요. : ")

length = len(user_input)  #사용자가 입력한 숫자의 자릿수를 len에 할당함

strike = 0

ball = 0

while length != 4 or len(set(user_input)) != 4: # 참 이라면 잘못된 입력이고 밑의 코드를 실행

    print("4자리의 서로다른 정수를 입력하세요.")

    user_input = input("중복되지 않는 0 이상 9 이하의 정수 4자리를 입력하세요. : ")

    length = len(user_input)


for i in range(4):

    if user_input[i] == numbers[i]: 

        strike += 1

    elif user_input[i] in numbers:

        ball += 1

print("입력한 숫자 : {}, 결과 : {}스트라이크 {}볼".format(user_input, strike, ball))