Форум сайта python.su
0
Есть такой код:
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""" )
Офлайн
857
import random cash = list(range(10)) random.shuffle(cash) cash = "".join(map(str, cash[:4])) x = "" print(cash) while x != cash: x = input("Введите число: \n") if not x.isdigit(): print("В строке содержатся не цифры!\n") continue if len(x) != 4: print("Введите 4-х значное число!\n") continue if len(x) != len(set(x)): print("В Вашем числе содержится две одинаковых цифры!\n") continue pos = sum(i[0] == i[1] for i in zip(x, cash)) result = sum(i in cash for i in x) print("[{}:{}]".format(pos, result))
Отредактировано py.user.next (Окт. 7, 2015 17:05:15)
Офлайн
0
py.user.nextВообще огонь
Спасибо большое. Я тоже сам сделал, поместил pos1 = 0 в цикл while
Офлайн
88
cash = list(range(10)) random.shuffle(cash) cash = "".join(map(str, cash[:4]))
cash = ''.join(random.sample('0123456789', 4))
Офлайн