Найти - Пользователи
Полная версия: Цикл в генератор
Начало » Python для новичков » Цикл в генератор
1
Valera_idi_syuda
board = list([["O"] * 9 for x in range(9)])
i = iter([x if x>0 else '  ' for x in range(8, -1, -1)])
for row in board[0:8]:
    row.insert(0, str(next(i)))
    print(" ".join(row[:9]))

Написал что-то такое, но оно возвращает лист из None
[print(row.insert(0, str(next(i)))) for row in board[0:8]]
JOHN_16
потому что print() “выводит на экран”, и возвращает ничего == None
Valera_idi_syuda
JOHN_16
потому что print() “выводит на экран”, и возвращает ничего == None
а почему оно None? И как сделать, чтобы было не None, а то, что в первом коде (пусть без вывода строки)
Shaman
Резнесите обработку данных и их вывод. В более сложных ситуациях оформляется как генератор на yield.
Пишите так
board = [["O"] * 9 for x in range(9)]
i = (x if x>0 else '  ' for x in range(8, -1, -1))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB