如何创建一个函数来打印不同方向(垂直、对角)的单词



我想创建一个函数,它接受一个单词并将其打印到指定的方向:当n = 0时,垂直打印,当n = 1对角打印。

def word_direction(text, direction=n):
print(word)

使用if statments检查方向,然后编写代码以打印该方向的文本

def word_direction(text,direction):
if direction==0:
for char in text:
print(char)
elif direction==1:
for spaces,value in enumerate(text):
print(" "*spaces,value)
elif direction==2:
print(text)
elif direction==3:
for pos,value in enumerate(text[::-1]):
spaces=len(text)-pos-1
print(" "*spaces,value)

您可以尝试这种方法,它使用enumerate()来获取文本中每个字符的索引,然后创建一个空格数等于文本中字符索引的字符串,以创建对角线效果。在空格之后,字符本身被连接起来,最后字符串被打印出来。

direction = 0时,此操作短路并且仅打印字符。默认情况下,print()在末尾打印一个换行符,这对两种模式都很有用。

def word_direction(text, direction = 1):
for i, char in enumerate(text):
print(''.join((' ' * i * direction, char)))

word_direction('Hello World!', direction = 0) # Prints vertically
word_direction('Hello World!', direction = 1) # Prints diagonally

输出(direction = 0(:

H
e
l
l
o

W
o
r
l
d
!

输出(direction = 1(:

H
e
l
l
o

W
o
r
l
d
!

此代码可能会帮助您:

def word_direction(text, direction):
if direction==0:
for ch in text:
print(ch)
elif direction==1:
for i in range(len(text)):
print(' '*i,text[i])
word_direction('Hello World!',0)  #prints vertically
word_direction('Hello World!',1)  #prints diagonally

最新更新