如何在Python中实现带完整边框的居中用户名显示?
问题解决:让用户名在边框内居中显示
原代码存在两个核心问题:
- 直接输出字符串
users_name而非变量值,导致无法显示用户输入的名字 - 手动添加空格的方式无法适配不同长度的用户名,居中效果不稳定
修改后的代码
users_name = input(" Enter Your Name: ").strip() # 边框总长度,和顶部/底部的星号数量保持一致 border_total = 50 # 打印顶部边框 print("*" * border_total) # 打印3行空内容的中间行 for _ in range(3): print(f"*{'':^{border_total - 2}}*") # 打印居中的用户名 print(f"*{users_name:^{border_total - 2}}*") # 打印6行空内容的中间行 for _ in range(6): print(f"*{'':^{border_total - 2}}*") # 打印底部边框 print("*" * border_total)
关键修改说明
- 使用
.strip()去除输入名字前后的多余空格,避免影响居中美观 - 用
border_total统一管理边框长度,后续调整边框大小只需修改这个变量 - 利用Python字符串的
^居中格式化符号,结合border_total - 2(减去两侧的星号宽度),自动实现内容居中,适配任意长度的用户名 - 用循环替代重复的空行打印,让代码更简洁易维护
内容的提问来源于stack exchange,提问作者MAMA
相关产品推荐
相关产品推荐

