如果其中一个print语句没有中间名,如何删除多余的空白?

2024-06-16 13:59:27 发布

您现在位置:Python中文网/ 问答频道 /正文

def get_formatted_name(first_name, last_name, middle_name = ''):
    """Return a full name, neatly formatted."""
    if middle_name:
        full_name = f"{first_name} {middle_name} {last_name}"
    else:
        full_name = f"{first_name} {middle_name} {last_name}"
    return full_name.title()

cricketer = get_formatted_name('sachin', 'tendulkar')
print(cricketer)

cricketer = get_formatted_name('sachin', 'tendulkar', 'ramesh')
print(cricketer)

输出:

Sachin  Tendulkar
Sachin Ramesh Tendulkar

由于没有中间名,如何删除第一次打印输出中多余的空白


Tags: namemiddlegetreturndeffullfirstlast
2条回答

不要在else语句中包含中间名

def get_formatted_name(first_name, last_name, middle_name = ''):
    """Return a full name, neatly formatted."""
    if middle_name:
        full_name = f"{first_name} {middle_name} {last_name}"
    else:
        full_name = f"{first_name} {last_name}"
    return full_name.title()

cricketer = get_formatted_name('sachin', 'tendulkar')
print(cricketer)

cricketer = get_formatted_name('sachin', 'tendulkar', 'ramesh')
print(cricketer)
def get_formatted_name(first_name, last_name, middle_name = ''):
    """Return a full name, neatly formatted."""
    full_name = f"{first_name} {middle_name} {last_name}"
    return full_name.title()

cricketer = get_formatted_name('sachin', 'tendulkar')
print(cricketer.replace("  ", " "))
cricketer = get_formatted_name('sachin', 'tendulkar', 'ramesh')
print(cricketer.replace("  ", " "))

我已经删除了if .. else ..条件检查,在print语句中,我只是用单个空格替换了2个空格,即print(cricketer.replace(" ", " ")),如果没有空格,则不起作用

输出

Sachin Tendulkar
Sachin Ramesh Tendulkar

相关问题 更多 >