所以为了解决一个练习,我需要像这样打印字符串“X”*用户输入值:XXXXXXXX XXXXXXX XXXXXX XXXXX XXXX XXX XX X我的代码是这样做的:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX我已经尝试过这个功能,但不知不觉它没有做我需要的,它只是一个字符一个字符地反转:x = int(input())times = xdef reverse(s): str = " " for i in s: str = i + str return strfor x in range(x): s=((times - x ) *" X" ) print(reverse(s))这是我到目前为止制作的原始代码,没有反转功能x = int(input())times = xfor x in range(x): print((times - x ) *"X" )我在这件事上浪费了很多时间。希望你们能帮助我。感谢您的时间。
3 回答
精慕HU
TA贡献1845条经验 获得超8个赞
您可以在前面添加空格:
for x in range(times):
print(' '*x + 'X'*(times - x ))
输出:
XXXXXXXXXX
XXXXXXXXX
XXXXXXXX
XXXXXXX
XXXXXX
XXXXX
XXXX
XXX
XX
X
绝地无双
TA贡献1946条经验 获得超4个赞
使用str.rjust()
width = 10
for n in range(width, 0, -1):
print(f'{"*" * n}'.rjust(width, ' '))
作为替代方案,使用字符串格式:
print(f'{"*" * n: >{width}}')
f 字符串需要 python 3.6+。作为替代str.format()可以使用。
慕妹3146593
TA贡献1820条经验 获得超9个赞
您可以使用以下方法,而不是纯字符串乘法str.rjust:
for x in range(times, 0, -1):
print((x*'x').rjust(times)
xxxxxxxx
xxxxxxx
xxxxxx
xxxxx
xxxx
xxx
xx
x
添加回答
举报
0/150
提交
取消
