为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕哥6287543 2022-06-07 19:16:30
所以为了解决一个练习,我需要像这样打印字符串“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


查看完整回答
反对 回复 2022-06-07
?
绝地无双

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()可以使用。


查看完整回答
反对 回复 2022-06-07
?
慕妹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


查看完整回答
反对 回复 2022-06-07
  • 3 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号