Python 3.x Python,它接受一个字符串,并以线宽字符为中心显示该字符串

Python 3.x Python,它接受一个字符串,并以线宽字符为中心显示该字符串,python-3.x,string,Python 3.x,String,例如,你好,伙计们 def right_justify( in_str): print("+" * 5,in_str.rjust(11),"+"*5) right_justify("Hello") 我的函数打印出来 为什么要这样打印 +++++ Hello +++++ 我不想打印这封信 +++++Hello+++++ 怎样才能让它看起来更漂亮呢 使用fstring或str.format Ex: def right_justify( in_str): va

例如,你好,伙计们

def right_justify( in_str):   
    print("+" * 5,in_str.rjust(11),"+"*5)

right_justify("Hello")
我的函数打印出来

为什么要这样打印

+++++       Hello +++++
我不想打印这封信

+++++Hello+++++

怎样才能让它看起来更漂亮呢

使用
f
string或
str.format

Ex:

def right_justify( in_str):
    val = "+"*5
    print("{}{}{}".format(val, in_str, val))
    print(f"{val}{in_str}{val}")
right_justify("Hello")
+++++Hello+++++
+++++Hello+++++
输出:

def right_justify( in_str):
    val = "+"*5
    print("{}{}{}".format(val, in_str, val))
    print(f"{val}{in_str}{val}")
right_justify("Hello")
+++++Hello+++++
+++++Hello+++++

这就是您的代码输出的内容:

('+++++', '      Hello', '+++++')

这是因为调用了
rjust(11)
,它完全符合名称的含义——它将字符串11个字符向右对齐。删除该方法,您的输出将完全符合您的要求。

老实说,这对我来说就像是家庭作业。事实上,这不是家庭作业。谢谢您现在明白了:)