猿问

多次反向打印相同的字符串* x?

所以为了解决一个练习,我需要像这样打印字符串“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" )


我在这件事上浪费了很多时间。希望你们能帮助我。感谢您的时间。


慕哥6287543
浏览 152回答 3
3回答

精慕HU

您可以在前面添加空格:for x in range(times):    print(' '*x + 'X'*(times - x ))输出:XXXXXXXXXX XXXXXXXXX  XXXXXXXX   XXXXXXX    XXXXXX     XXXXX      XXXX       XXX        XX         X

绝地无双

使用str.rjust()width = 10for n in range(width, 0, -1):    print(f'{"*" * n}'.rjust(width, ' '))作为替代方案,使用字符串格式:print(f'{"*" * n: >{width}}')f 字符串需要 python 3.6+。作为替代str.format()可以使用。

慕妹3146593

您可以使用以下方法,而不是纯字符串乘法str.rjust:for x in range(times, 0, -1):    print((x*'x').rjust(times)xxxxxxxx xxxxxxx  xxxxxx   xxxxx    xxxx     xxx      xx       x
随时随地看视频慕课网APP

相关分类

Python
我要回答