求助:编写Python函数实现输入文本的虚线边框输出
实现带虚线边框的文本打印函数
嘿,我来帮你搞定这个给文本加虚线边框的问题!先看看你现有代码里的几个小问题:
- 代码逻辑有点混乱,你定义了
border()函数但没在里面实现核心逻辑,也没正确调用它 len(my_string)只是计算了长度但没把这个值用起来- 如果是Python 3的话,
raw_input要换成input,print需要加括号哦
核心思路拆解
要实现自适应长度的虚线边框,关键是根据输入文本的长度动态生成边框:
- 先获取用户输入的文本,计算它的长度
- 设计中间行的格式:让文本前后各加一个空格和一个短横线(比如
- Hello -),这样中间行的总长度就是len(文本) + 4(2个空格+2个短横线) - 上下边框就是和中间行长度一致的短横线字符串
- 最后依次打印上边框、中间行、下边框
完整实现代码
def print_dashed_border(): # 获取用户输入,Python2用raw_input,Python3用input my_string = input("Enter some text: ") # 计算中间行的总长度:文本长度 + 前后的" -"和"- " border_length = len(my_string) + 4 # 生成上下边框 top_bottom_border = "-" * border_length # 生成中间带文本的行 middle_line = f"- {my_string} -" # 按顺序打印 print(top_bottom_border) print(middle_line) print(top_bottom_border) # 调用函数 print_dashed_border()
效果演示
比如输入Hello,会输出:
----------- - Hello - -----------
如果输入更长的文本Hello World!,输出会自动适配:
------------------- - Hello World! - -------------------
这样就完美实现了自适应长度的虚线边框啦!
内容的提问来源于stack exchange,提问作者alexa
相关产品推荐
相关产品推荐

