问题描述
我想在所有方向打印一个词,假设我得到“牛顿”这个词,结果应该是:
NEWTON
E
W
T
O
NOTWEN
O
T
W
E
NEWTON
我所做的是以下内容,但是如何让用户只输入一次单词,让我们说输入并获得结果?就我而言,我正在一张一张地打印它们。谢谢
>>> from itertools import zip_longest
>>> text = "newton".upper()
for x in zip_longest(*text.split(),fillvalue=' '):
print (' '.join(x))
def reverse(phrase):
return ' '.join(list(map(lambda x: x[::-1],phrase.split())))
print(reverse("newton").upper())
char = 'newton'.upper()
cont = len(char) - 1
while cont >= 0:
cont2 = char[cont]
print(cont2)
cont -= 1
print("newton".upper())```
解决方法
您可以使用 sep
和 end
参数来简化切片操作。
def print_e_shape(s):
print(s)
print(*s[1:],sep='\n',end='')
print(s[-2::-1])
print(*s[-2::-1],end='')
print(s[1:])
print_e_shape('NEWTON')
输出
NEWTON
E
W
T
O
NOTWEN
O
T
W
E
NEWTON