因此,为了解决练习,我需要打印字符串“ X” *这样的用户输入值:
XXXXXXXX
XXXXXXX
XXXXXX
XXXXX
XXXX
XXX
XX
X
我的代码执行此操作:
XXXXXXXX
XXXXXXX
XXXXXX
XXXXX
XXXX
XXX
XX
X
我已经尝试过此功能,但是显然它没有满足我的需要,只是一个字符一个字符地反转:
x = int(input())
times = x
def reverse(s):
str = " "
for i in s:
str = i + str
return str
for x in range(x):
s=((times - x ) *" X" )
print(reverse(s))
这是我到目前为止编写的原始代码,没有反向功能
x = int(input())
times = x
for x in range(x):
print((times - x ) *"X" )
我在这方面浪费了很多时间。希望你们能帮助我。谢谢您的时间。
您可以在前面添加空间:
for x in range(times):
print(' '*x + 'X'*(times - x ))
输出:
XXXXXXXXXX
XXXXXXXXX
XXXXXXXX
XXXXXXX
XXXXXX
XXXXX
XXXX
XXX
XX
X
代替纯字符串乘法,您可以使用str.rjust
:
str.rjust
使用for x in range(times, 0, -1):
print((x*'x').rjust(times)
xxxxxxxx
xxxxxxx
xxxxxx
xxxxx
xxxx
xxx
xx
x
str.rjust()
作为替代,使用字符串格式:
width = 10
for n in range(width, 0, -1):
print(f'{"*" * n}'.rjust(width, ' '))
f字符串需要python 3.6+。作为替代print(f'{"*" * n: >{width}}')
,可以使用。