Форум сайта python.su
вот такая задачка, не совсем понимаю как это реализовать,поможете?
Офлайн
from itertools import cycle from collections import defaultdict with open('data.tmp', 'w', encoding='utf8') as data: data.write('3 4\n') data.write('car\n') data.write('plane\n') data.write('robot\n') data.write('puzzle\n') data.write('5 3\n') data.write('car\n') data.write('plane\n') data.write('robot\n') data.write('2 4\n') data.write('car\n') data.write('plane\n') data.write('robot\n') data.write('puzzle\n') def solve(fin): while True: line = fin.readline() if not line: break N, M = [int(n) for n in line.split()] gifts = defaultdict(list) for kid, gift in zip(cycle(range(N)), range(M)): gifts[kid].append(fin.readline()[:-1]) yield N, gifts with open('data.tmp', 'r', encoding='utf8') as fin: for N, gifts in solve(fin): for kid in range(N): kid_gifts = gifts[kid] print(len(kid_gifts), ' '.join(kid_gifts)) print()
Отредактировано izekia (Ноя. 13, 2016 05:27:12)
Офлайн