python(71) :

1.效果

bash 复制代码
████████████████████
█                  █
█   Hello World    █
█                  █
████████████████████


████████████████████
█                  █
█  你好,Python!  █
█                  █
████████████████████


████████████████████████████████████████████████████████
█                                                      █
█ 这是一段比较长的测试文本,用来验证自动适配宽度的效果      █
█                                                      █
████████████████████████████████████████████████████████

这是csdn显示异常, 终端打印是对其了的

2.border_display.py

python 复制代码
# border_display.py
def get_display_width(s):
    """
    计算字符串的显示宽度(中文字符占2个宽度,英文字符占1个)
    
    Args:
        s (str): 需要计算宽度的字符串
        
    Returns:
        int: 字符串的显示宽度
    """
    width = 0
    for c in s:
        if ord(c) > 127:  # 中文字符的Unicode编码大于127
            width += 2
        else:
            width += 1
    return width


def display_with_border(text, min_width=20, max_width=120):
    """
    将指定文本用边框包裹展示,边框宽度自动适配文本长度
    
    Args:
        text (str): 需要展示的文本内容
        min_width (int): 边框的最小宽度(避免内容过短时边框太窄)
        max_width (int): 边框的最大宽度(避免内容过长时边框太宽)
    """
    # 计算文本的实际显示宽度
    text_width = get_display_width(text)
    
    # 自动计算边框总宽度:取文本宽度+4(左右各留2个空格)、最小宽度的较大值,且不超过最大宽度
    SEPARATOR_WIDTH = min(max(text_width + 4, min_width), max_width)
    inner_width = SEPARATOR_WIDTH - 2  # 边框内部可显示的宽度
    
    # 生成带边框的内容
    print(f"\n{'█' * SEPARATOR_WIDTH}")
    print(f"█{' ' * inner_width}█")
    
    # 计算文本左右的填充空格数,让文本居中
    padding = (inner_width - text_width) // 2
    print(f"█{' ' * padding}{text}{' ' * (inner_width - text_width - padding)}█")
    
    print(f"█{' ' * inner_width}█")
    print(f"{'█' * SEPARATOR_WIDTH}\n")


# 模块自测代码(仅在直接运行该文件时执行)
if __name__ == "__main__":
    # 测试不同内容的展示效果
    display_with_border("Hello World")
    display_with_border("你好,Python!")
    display_with_border("这是一段比较长的测试文本,用来验证自动适配宽度的效果")
相关推荐
刀锋00017 分钟前
从0到1手搓生产级 AI Agent:LangGraph 1.2 + LangChain 1.3 保姆级实战(全部代码已跑通)
人工智能·python·langchain·ai agent·langgraph
夜雪一千11 分钟前
Python 如何实现 SHA 加密?SHA1 / SHA256 / SHA512 实战教程
开发语言·python
码云骑士12 分钟前
106-模型量化技术-GGUF-GPTQ-AWQ-bitsandbytes对比
python
御风之翼_唤星者18 分钟前
LoadFramePackModel模块报错bad escape
python·ai
雪隐27 分钟前
个人电脑玩AI-16让5060 Ti给你打工——5060Ti 16G 跑 MiniMax-Music-3:从下载到 60s 出歌的全流程
前端·人工智能·后端
民乐团扒谱机42 分钟前
【微实验】谐波乘积谱(HPS)算法深度解析:原理、数学与代码实现
开发语言·人工智能·python·算法·语音识别·音乐
小白勇闯网安圈1 小时前
Django Ajax、批量操作与分页实践
python·django
张元清1 小时前
React useLatest Hook:在异步回调里读到最新状态 (2026)
javascript·react.js
Logintern091 小时前
Langgraph使用MemorySaver建立有记忆的图
开发语言·windows·python
CAD老兵1 小时前
让 AI Coding Agent 直接访问 CAD 文档:GitMCP 实战指南
前端·人工智能·github