Как я могу изменить этот код, чтобы он функционировал логически?
Есть такая игра. Вы угадываете 4 цифры случайного числа. Он выводит количество правильных цифр в правильном месте, но также и правильные цифры в неправильном месте. Например, если код был 2188 и угадайте, что выход будет 1888 1 и 1. Этот фрагмент кода вызывает проблемы логически. Предположим, что tag_guess-это массив из 4 ложных значений.
Проблема в том, что он выводит неверно. Когда код был 4405 и угадайте 4444 он вывел 2 правильных НО 2 исправьте в неправильном месте. Логически говоря, он должен вывести 2 правильных 0 правильных в неправильном месте. Он должен вырваться из оператора if и игнорировать 44 в 4405 году как это уже было сопоставлено и отмечено как истинное. Мне нужно создать массив с именем tag_code и суммировать все это с помощью цикла for и while. Как мне это сделать?
wronPlace= 0 if tag_guess[0]== False: if guess[0]== code[1]: tag_guess[0]== True wronPlace= (wronPlace+1) elif guess[0]== code[2]: tag_guess[0]== True wronPlace= (wronPlace+1) elif guess[0]== code[3]: tatg_guess[0]== True wronPlace= (wronPlace+1) if tag_guess[1]== False: if guess[1]== code[0]: tag_guess[1]== True wronPlace= (wronPlace+1) elif guess[1]== code[2]: tag_guess[1]== True wronPlace= (wronPlace+1) elif guess[1]== code[3]: tag_guess[1]== True wronPlace= (wronPlace+1) if tag_guess[2]== False: if guess[2]== code[0]: tag_guess[2]== True wronPlace= (wronPlace+1) elif guess[2]== code[1]: tag_guess[2]== True wronPlace= (wronPlace+1) elif guess[2]== code[3]: tag_guess[2]== True wronPlace= (wronPlace+1) if tag_guess[3]== False: if guess[3]== code[0]: tag_guess[3]== True wronPlace= (wronPlace+1) elif guess[3]== code[1]: tag_guess[3]== True wronPlace= (wronPlace+1) elif guess[3]== code[2]: tag_guess[3]== True wronPlace= (wronPlace+1)
Что я уже пробовал:
Я пробовал делать цикл for, но у меня плохо получается делать что-то более сложное, пока я не смогу сначала заложить базовый уровень понимания простого кода. Код должен пропускать числа в коде и угадывать, которые были помечены как истинные/правильные, как и другие. Помогите!