Форум сайта python.su
FishHookПилите Шура - пилите
Офлайн
jobsdatahttp://python.su/forum/topic/28133/?page=1#post-151643
Пилите Шура - пилите Спасибо. Буду дальше мозг укреплять. Не подскажите от куда такие познания в Python? Что полезней всего почитать, посмотреть?
Офлайн
Есть еще random.sample.
"".join(map(str, sample(range(9), 4)))
То есть если выпало число 4521, ввели 4831, совпало два числа, получить кол-во совпавших чисел?
from random import sample generated = "".join(map(str, sample(range(9), 4))) print(generated) user_input = input() print(len([x for x in user_input if x in generated and len(user_input) == 4]))
Отредактировано ayb (Сен. 15, 2015 20:17:01)
Офлайн
FishHook
Уж больно сложен и одновременно прост и красив способ вами предложенный. Заинтересовал, пытаюсь понять его, если не затруднит - проверьте мои рассуждения кода
1 import random 2 cash = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 3 random.shuffle(cash) 4 print("".join(map(str, cash[:4])))
Отредактировано Originator (Сен. 15, 2015 21:29:18)
Офлайн
А Вы попробуйте сделать вот так
"".join(cash[:4])
Офлайн
aybТ.е. преобразует последовательность числовую в строковый тип (литеры)?
В данном случае нужно получить из списка чисел, список строк.
Офлайн
Наверное, делает задачу “быки и коровы”, которая решена миллион раз на разных языках. :)
Офлайн
py.user.next
Наверное, делает задачу “быки и коровы”, которая решена миллион раз на разных языках.
Офлайн
.
Отредактировано J.R. (Фев. 27, 2016 15:49:58)
Офлайн
Тут нужны пояснения.
Во втором питоне функция map возвращает список. То есть выполняя вот такой код
def predicate(i): return i * i lst = map(predicate, [1, 2, 3, 4])
def vector(): i = 0 while True: yield i i += 1
for j in vector(): .....
Отредактировано FishHook (Сен. 16, 2015 10:27:20)
Офлайн