Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 17, 2023 19:48:23

anotcher
Зарегистрирован: 2022-03-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

Добрый вечер! Подскажите как реализовать числовой прямоугольник без использования списков. Через вложенные циклы. Не могу сделать числовую змейку. Такой вариант почему-то не работает.

 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() 

Офлайн

#2 Янв. 17, 2023 21:08:17

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

развернуть строку

 variable = '12345'
def reverseds(variable):
    res=''.join(reversed(variable))
    return res
n = reverseds(variable)
print(n)
у тебя INT а не стринг

Офлайн

#3 Янв. 17, 2023 22:18:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

anotcher
Подскажите как реализовать числовой прямоугольник без использования списков.
Опиши задачу детально. По коду мы задачи не восстанавливаем, особенно по говнокоду.



Офлайн

#4 Янв. 17, 2023 23:43:58

anotcher
Зарегистрирован: 2022-03-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

py.user.next
Нужно написать числовую змейку по заданной высоте и ширине. Реализация желательно должна быть через вложенные циклы.

Офлайн

#5 Янв. 18, 2023 02:01:44

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

anotcher
Нужно написать числовую змейку по заданной высоте и ширине.
Нарисуй её вручную и рисунок приложи. Потому что “числовая змейка” звучит точно так же, как “числовой слонёнок” или “числовая собачка”. Что это значит?



Офлайн

#6 Янв. 18, 2023 07:45:12

anotcher
Зарегистрирован: 2022-03-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

Примерно так результат должен выглядеть. Я могу сделать так матрицей. Но желательно реализовать без использования матрицы.
Сейчас нарисовал такое решение, и хочу понять почему оно не верное.

 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)

Прикреплённый файлы:
attachment image-42.jpg (93,5 KБ)

Офлайн

#7 Янв. 18, 2023 11:04:17

m1r42
Зарегистрирован: 2022-07-26
Сообщения: 133
Репутация: +  7  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

А че так все сложно то? Если просто нужен принт, то как-то так:

 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()

Офлайн

#8 Янв. 18, 2023 11:08:50

m1r42
Зарегистрирован: 2022-07-26
Сообщения: 133
Репутация: +  7  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

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)

Офлайн

#9 Янв. 18, 2023 11:49:44

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2759
Репутация: +  185  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

 >>> [ " ".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']



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#10 Янв. 18, 2023 13:38:21

anotcher
Зарегистрирован: 2022-03-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть строку в обратном порядке

m1r42
В данной задаче такое не подойдет, уже пробовал(((

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version