Пиф, 13 символов
Примечание: Pyth слишком нов, чтобы иметь право на победу. Тем не менее, это был веселый гольф, и я решил поделиться им.
VQ<*QX*d2N\XQ
Попробуй это здесь.
Как это устроено:
Q = eval(input())
VQ for N in range(Q):
< Q [:Q]
*Q (Q* )
X*d2N\X assign_at(" "*2, N, "X")
В основном, это используется Xдля генерации "X "или " X"поочередно, затем повторяет это Qвремя строки и принимает его первые Qсимволы. Это повторяется Qраз.
Как работает Xфункция (назначить в)? Он принимает исходную строку, " "в данном случае, место назначения, Nв этом случае, и символ замены, "X"в этом случае. Поскольку присваивания Pyth являются модульными, это заменяет пространство в местоположении N%2на Xи возвращает результирующую строку, которая, следовательно, находится "X "в первой, третьей и т. Д. Строках, а также " X"в других.