我想创建一个函数,它接受一个单词并将其打印到指定的方向:当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