Форум сайта python.su
Добрый вечер! Подскажите как реализовать числовой прямоугольник без использования списков. Через вложенные циклы. Не могу сделать числовую змейку. Такой вариант почему-то не работает.
N = 5 #int(input()) # высота M = 5 #int(input()) # ширина index = 1 for i in range(N): if i % 2 == 0: for j in range(M): print(str(index).rjust(3), end=' ') index += 1 else: # вот этот цикл по идее должен разворачивать # строку в обратном порядке, но не разворачивает for j in range(M-1, -1, -1): print(str(index).rjust(3), end=" ") index +=1 print()
Офлайн
развернуть строку
variable = '12345' def reverseds(variable): res=''.join(reversed(variable)) return res n = reverseds(variable) print(n)
Офлайн
anotcherОпиши задачу детально. По коду мы задачи не восстанавливаем, особенно по говнокоду.
Подскажите как реализовать числовой прямоугольник без использования списков.
Офлайн
py.user.nextНужно написать числовую змейку по заданной высоте и ширине. Реализация желательно должна быть через вложенные циклы.
Офлайн
anotcherНарисуй её вручную и рисунок приложи. Потому что “числовая змейка” звучит точно так же, как “числовой слонёнок” или “числовая собачка”. Что это значит?
Нужно написать числовую змейку по заданной высоте и ширине.
Офлайн
Примерно так результат должен выглядеть. Я могу сделать так матрицей. Но желательно реализовать без использования матрицы.
Сейчас нарисовал такое решение, и хочу понять почему оно не верное.
N = 4 # int(input()) M = 5 # int(input()) index = 1 for i in range(N): if i % 2 == 0: for j in range(M): we = ''.join(str(index)) print(f"{we:>2}", end=' ') index += 1 else: for j in range(M - 1, -1, -1): we = ''.join(str(index)) print(f"{we:>2}", end=' ') index += 1 print()
Отредактировано anotcher (Янв. 18, 2023 07:49:09)
Прикреплённый файлы: image-42.jpg (93,5 KБ)
Офлайн
А че так все сложно то? Если просто нужен принт, то как-то так:
N = 4 # int(input()) M = 5 # int(input()) index = 1 for x in range(N): for y in range(M): print(f"{index:>2}", end=' ') index += 1 print()
Офлайн
Genabox
развернуть строку
variable = ‘12345’
def reverseds(variable):
res=''.join(reversed(variable))
return res
n = reverseds(variable)
print(n)
у тебя INT а не стринг
s = s[::-1]
Отредактировано m1r42 (Янв. 18, 2023 11:14:38)
Офлайн
>>> [ " ".join(x[::-1] if i%2 else x) for i,x in enumerate( list(map(lambda x: str(x).zfill(2), range(n,k))) for n,k in zip(range(1, 48, 8), range(9, 56, 8)) ) ] ['01 02 03 04 05 06 07 08', '16 15 14 13 12 11 10 09', '17 18 19 20 21 22 23 24', '32 31 30 29 28 27 26 25', '33 34 35 36 37 38 39 40', '48 47 46 45 44 43 42 41']
Офлайн
m1r42В данной задаче такое не подойдет, уже пробовал(((
Офлайн