cash = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] random.shuffle(cash) cash = list("".join(map(str, cash[:4]))) x = "" pos1 = 0 while x != cash: x = input("Введите число: \n") if not x.isdigit(): print("В строке содержатся не цирры!\n") continue if len(x) > 4 or len(x) < 4: print("Введите 4-х значное число!\n") continue if len(x) != len(set(x)): print("В Вашем числе содержится два одинаковых числа!\n") continue x = list(x) result_1 = list(zip(x,cash)) for i in result_1: if i[0] == i[1]: pos1 += 1 result_2 = [i for i in x if i in cash] print ("""["""+ str(pos1) +""":""" + str(len(result_2)) + """]\n""" )
Пример:
В cash попало число 2345.
Человек вводит 1367, число 3 совпало по позиции, в pos1 = 1, мне выводит что 1 совпадение. Если я введу 2356, будет 2 совпадения. И если я введу 1987, то по идеи будет pos1 = 0, но в нем уже предыдущие совпадения. Вот как сбросить pos1 на 0 если нет совпадений? Или как правильно оформить код? Не могу понять. Спасибо.
P.S. На чудо-юдо код не обращайте внимание