python-3.x - 我必须编写一个代码,获取一个名字并将其转换为姓氏、第一个首字母和中间首字母格式

标签 python-3.x string

我必须编写一个代码,将一个名字转换为姓氏、名字首字母、中间名首字母的格式。假设有中间名,我的代码可以工作,但如果不提供中间名,代码就会中断。有没有办法忽略没有中间名并仅默认姓氏和名字首字母?我对 python3 非常陌生,所以如果我的代码非常糟糕,我很抱歉。 这是我的代码:

your_name = input()
broken_name = your_name.split()
first_name = broken_name[0]
middle_name = broken_name[1]
last_name = broken_name[2]

middle_in = middle_name[0]
first_in = first_name[0]
print(last_name+',',first_in+'.'+middle_in+'.' )

最佳答案

您可以使用if else 语句来检查broken_name 的长度。 尝试:

your_name = input()
broken_name = your_name.split()
if len(broken_name) > 2:
    first_name = broken_name[0]
    middle_name = broken_name[1]
    last_name = broken_name[2]

    middle_in = middle_name[0]
    first_in = first_name[0]
    print(last_name+', ',first_in+'. '+middle_in+'.'
else:
    first_name = broken_name[0]
    last_name = broken_name[1]
    first_in = first_name[0]
    print(last_name+', ',first_in+'.')

关于python-3.x - 我必须编写一个代码,获取一个名字并将其转换为姓氏、第一个首字母和中间首字母格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71530010/

相关文章:

sql - 这个sql做什么

java - 如何通过忽略字符串中的空格来用另一个字符串替换一个字符串,而不实际删除java中的空格?

python - 获取嵌套字典

python - 导入错误 : No module named 'google'

python - 在字典声明中使用 OrderedDict

python - 如何修复打印语句,使其在一行而不是两行?

python - 我如何使用 GeneratorExit?

python - 如何在特定位置生成字符串中的字符组合?

c++ - 在 find_if 中使用谓词

javascript - JS删除数组中的多项