Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 10, 2016 23:53:08

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

Как вывести текст по диагонали?

Привет всем! Я новичок в Python. Получил задание в универе написать алгоритм по которому слово запишется по диагонали слева на право, а потом справа на лево. Код сам написал, но видимо не правильный. Слово выдает, но не пишет его по диагонали. Вот код:

def diagonal (text, right_to_left=False):
if right_to_left==False:
l=0
for letter in text:
print (''*l+letter)
l=l+1
else:
l= len(text)
for letter in text:
print (''*l+letter)
l=l-1
print (diagonal(“slantwise”, right_to_left=False))

Помогите найти ошибку пожалуйста!

Офлайн

#2 Окт. 11, 2016 07:15:01

wi34rd
Зарегистрирован: 2016-10-08
Сообщения: 89
Репутация: +  2  -
Профиль   Отправить e-mail  

Как вывести текст по диагонали?

 word = input()
for i, letter in enumerate(word):
	print('{:>{}}'.format(letter, i + 1))
for i, letter in enumerate(word):
	print('{:>{}}'.format(letter, len(word) - i))

Отредактировано wi34rd (Окт. 11, 2016 07:16:49)

Офлайн

#3 Окт. 11, 2016 07:17:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как вывести текст по диагонали?

Код на форуме надо оборачивать в теги код.
Поясните что вы пытаетесь изобразить кодом

 ''*l+letter
думаю проблема в этом.

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



Отредактировано doza_and (Окт. 11, 2016 07:26:00)

Офлайн

#4 Окт. 11, 2016 10:42:30

Drew_7
Зарегистрирован: 2016-01-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вывести текст по диагонали?

 def diagonal (text, right_to_left = False):
    if right_to_left == False:
        l = 0
        for letter in text:
            print(' ' * l + letter)
            l = l + 1
    else:
        l = len(text)
        for letter in text:
            print(' ' * l + letter)
            l = l - 1
diagonal("slantwise", right_to_left = False)

Отредактировано Drew_7 (Окт. 11, 2016 10:43:44)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version