python print ljust 文本对齐打印 对齐打印名册

背景

在python部分场景下,我们需要打印输出一些文本消息,但我们又无法预测可能的打印内容是什么。这种情况下,我们要对齐打印这些文本,是比较比较难以处理的。
例如下面是一列姓名,和对应的一列手机/电话号,现需要将其 姓名: 手机 对齐打印输出

名册 = ['武春梅love', '山田 あすか', '周想', '中村 くみ子', '渡辺 あすか', '崔雷', '张静', '何霞', '鈴木 加奈', '田中 裕美子', '邵淑兰', '赵莉', '刘佳sly']
电话本 = ['031-133-9498', '080-9700-6966', '070-9859-9950', '61-7061-2576', '18551456831', '052-012-1490', '18034381675', '82-2147-9976', '14754190321', '090-8814-3198', '011-083-9078', '15901846831', '13657625569']

预告

本文指在分享一个对齐打印中日姓名和手机号的方法,对比了使用 ljust 方法和使用 DebugInfo 模块方法的打印对齐效果。心急的可以直接运行insCode python代码体验:

这里需要插入 inscode代码,审核中。

ljust 对齐打印法

一般而言,我们最容易想到的办法,就是使用字符串的 ljust 函数来对字符串进行空格补位,但这对于中文, 日文, 英文混合场景下的字符串的处理,是不太理想的。就以上名册和电话本的内容,以下是使用 ljust 方法进行对齐的打印效果:

# -*- coding:UTF-8 -*-# region 引入必要依赖
import os
from DebugInfo.DebugInfo import *
# endregion名册 = ['武春梅', '山田 あすか', '周想', '中村 くみ子', '渡辺 あすか', '崔雷', '张静', '何霞', '鈴木 加奈', '田中 裕美子', '邵淑兰', '赵莉', '刘佳']
电话本 = ['031-133-9498', '080-9700-6966', '070-9859-9950', '61-7061-2576', '18551456831', '052-012-1490', '18034381675', '82-2147-9976', '14754190321', '090-8814-3198', '011-083-9078', '15901846831', '13657625569']print('姓名'.ljust(15), '|', '手机')
for 姓名, 手机 in zip(名册, 电话本):print(姓名.ljust(15), '|', 手机)

以上代码运行得到如下打印输出。姓名和手机号中间的 是为了观察对齐效果而加的。很显示,打印输出的对齐效果是不理想的。
ljust对齐打印中日混合姓名的效果

DebugInfo 模块

下面引入DebugInfo 模块对齐打印姓名和手机。

pip install DebugInfo

以下代码,引入了DebugInfo调试模板对象,我们通过调试模板对齐对齐打印以上姓名和手机,观察打印结果。

from DebugInfo.DebugInfo import *名册 = ['武春梅', '山田 あすか', '周想', '中村 くみ子', '渡辺 あすか', '崔雷', '张静', '何霞', '鈴木 加奈', '田中 裕美子', '邵淑兰', '赵莉', '刘佳']
电话本 = ['031-133-9498', '080-9700-6966', '070-9859-9950', '61-7061-2576', '18551456831', '052-012-1490', '18034381675', '82-2147-9976', '14754190321', '090-8814-3198', '011-083-9078', '15901846831', '13657625569']画板 = 调试模板()  # 准备个画板画板.分隔线.总长度(35).提示内容('DebugInfo 对齐打印效果').修饰(红字).展示()  # 打印一条分隔线画板.添加一行('姓名', '|', '手机').修饰行(青字)  # 表格添加一行, 设为青色, 作为标题
for 姓名, 手机 in zip(名册, 电话本):画板.添加一行(姓名, '|', 手机)  # 把姓名和手机添加到表格上# 展示表格
画板.展示表格()

上面的代码先将姓名和电话一一添加到调试模板对象的表格行中,最后展示表格。打印输出如下:
DebugInfo 调试模板 对象对齐打印中日姓名效果
观察上图中的对齐参考符号 ,姓名和手机号非常漂亮的对齐在了一起。完美实现了对齐打印的目标。

小结

以上就是今天给大家分享的中日姓名对齐打印的方法了,欢迎大家试用,评论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/106538.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

响应式布局bootstrap使用

响应式布局 学习目标 能够说出响应式原理 能够使媒体查询完成响应式导航 能够使用Bootstrap的栅格系统 能够使用bootstrap的响应式工具 1.响应式原理 1.1响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的 1.2响应式布局容器…

成功解决修改已经push到远程git仓库的commit message

1.使用 Git 命令行进入要修改的项目目录。 2.运行 git log 命令查看提交历史&#xff0c;找到要修改的提交的哈希值&#xff08;commit hash&#xff09;。 3.运行 git rebase -i <commit hash> 命令&#xff0c;将 <commit hash> 替换为要修改的提交的哈希值。这将…

第61步 深度学习图像识别:多分类建模(TensorFlow)

基于WIN10的64位系统演示 一、写在前面 截至上期&#xff0c;我们一直都在做二分类的任务&#xff0c;无论是之前的机器学习任务&#xff0c;还是最近更新的图像分类任务。然而&#xff0c;在实际工作中&#xff0c;我们大概率需要进行多分类任务。例如肺部胸片可不仅仅能诊断…

keepalived+haproxy 搭建高可用高负载高性能rabbitmq集群

一、环境准备 1. 我这里准备了三台centos7 虚拟机 主机名主机地址软件node-01192.168.157.133rabbitmq、erlang、haproxy、keepalivednode-02192.168.157.134rabbitmq、erlang、haproxy、keepalivednode-03192.168.157.135rabbitmq、erlang 2. 关闭三台机器的防火墙 # 关闭…

【水平垂直居中布局】CSS实现水平垂直居中的5种方法(附源码)

文章目录 写在前面涉及知识点1、子绝对定位父相对定位&#xff0c;子节点设置位移实现1.1效果1.2实现源码 2、子绝对定位父相对定位&#xff0c;子节点设置上下边距2.1 效果2.2 实现源码 3、利用flex布局实现3.1 效果3.2 实现源码 4、利用行高和文本水平居中设置4.1 效果4.2 实…

shell脚本——循环语句、sed、函数、数组、免交互expect

目录 循环语句 for while 与 until sed 基本用法 sed脚本格式 函数 注意事项 定义函数和调用函数 脚本中函数的位置 查看函数 删除函数 函数返回值 函数的传参操作 使用函数文件 递归函数 数组 声明数组 数组切片 免交互expect 定义 基本命令 循环语句 …

SpingMVC拦截器-用户登录权限控制分析

视频链接&#xff1a;08-SpringMVC拦截器-用户登录权限控制代码实现2_哔哩哔哩_bilibili 114 1、做了一个用户跟角色添加的相关操作 1.1 这个后台工程&#xff0c;没有进行相关操作也能够进行登录&#xff1a; 2、现在我做一个用户的权限控制&#xff0c;如果当前我没有进行操…

记录protocol buffers Mac安装

使用brew安装最新的protobuf 在Mac 上安装&#xff0c;使用brew 可以安装最新的protobuf。这个也比较简单&#xff0c;简单说一下。 首先先检查一下是否安装了brew。如果没有安装brew的话&#xff0c;请先安装brew.可以通过brew --version来检查 使用brew install protobuf 来…

Mybatis-动态sql和分页

目录 一.什么是Mybatis动态分页 二.mybatis中的动态SQL 在BookMaaper.xml中写sql BookMapper BookBiz接口类 BookBizImpl实现接口类 demo测试类 ​编辑 测试结果 三.mybatis中的模糊查询 mybatis中的#与$有是什么区别 在BookMapper.xml里面建立三个模糊查询 ​编辑 …

在云服务器上安装Jenkins

说明&#xff1a;Jenkins是一个部署项目的平台&#xff0c;通过Jenkins可以省去从项目开发–>部署项目之间的所有流程&#xff0c;做到代码提交即上线。本文介绍在云服务CentOS上安装Jenkins。 前提 安装Jenkins之前&#xff0c;先要在云服务上安装JDK、Maven、Git&#x…

大模型是什么?泰迪大模型能够解决企业哪些痛点?

什么是大模型&#xff1f; 大模型是指模型具有庞大的参数规模和复杂程度的机器学习模型。在深度学习领域&#xff0c;大模型通常是指具有数百万到数十亿参数的神经网络模型。这些模型需要大量的计算资源和存储空间来训练和存储&#xff0c;并且往往需要进行分布式计算和特殊…

C# 工厂模式

一、概述 工厂模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种创建对象的最佳方式。在C#中&#xff0c;工厂模式通过定义一个公共接口或抽象类来创建对象&#xff0c;而具体的对象创建则由工厂类来实现。 工厂模式主要包含三个角色…

在树莓派上搭建WordPress博客网站,并内网穿透发布到公网

目录 概述 安装 PHP 安装MySQL数据库 安装 WordPress 设置您的 WordPress 数据库 设置 MySQL/MariaDB 创建 WordPress 数据库 WordPress configuration 将WordPress站点发布到公网 安装相对URL插件 修改config.php配置 支持好友链接样式 定制主题 &#x1f388;个…

什么是异步编程?什么是回调地狱(callback hell)以及如何避免它?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 异步编程⭐ 回调地狱&#xff08;Callback Hell&#xff09;⭐ 如何避免回调地狱1. 使用Promise2. 使用async/await3. 模块化和分离 ⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订…

adb使用总结

adb连接到模拟器 adb devices 打开模拟器&#xff0c;找到设置。 多次点击版本号&#xff0c;切换到开发者模式 搜索进入开发者选项 开启USB调试 此时在终端输入adb devices就连接上了 使用adb查看安卓手机架构 adb shell getprop ro.product.cpu.abi 进入安卓手机的shell …

drools8尝试(加单元测试)

drools8的maven模板项目里没有单元测试, 相比而言drools7有个非常好的test senorios 那就自己弄一个 文件是.http后缀的,写了个简单的例子如下 //测试交通违章 POST http://localhost:8080/Traffic Violation accept: application/json Content-Type: application/json{&q…

Unity 图片资源的适配

前言 最近小编做Unity项目时&#xff0c;发现在资源处理这方面和Android有所不同&#xff1b;例如&#xff1a;Android的资源文件夹res下会有着mipmap-mdpi&#xff0c;mipmap-hdpi&#xff0c;mipmap-xhdpi&#xff0c;mipmap-xxhdpi&#xff0c;mipmap-xxxhdpi这五个文件夹&a…

利用lammps模拟蓝宝石在水润滑环境下的抛光

一 问题描述 蓝宝石&#xff08;Al2O3&#xff09;由于其独特的晶体结构&#xff0c;优异的物理化学特性&#xff0c;被广泛应用于航空航天等领域。高精尖的应用领域要求蓝宝石具有纳米级的表面粗糙度以及严格可控的亚表面缺陷。影响超精密加工最终性能的因素主要集中在工件表…

Linux详解(包含Linux安装教程)

文章目录 Linux详解一、安装Linux操作系统VMware介绍安装虚拟机VMware下载centos 7系统安装centos 7系统 二、Linux基础命令Linux的目录结构Linux命令入门目录切换相关命令 cd、pwd相对路径、绝对路径和特殊路径符掌握通过mkdir命令创建文件夹文件操作命令touch、cat、more文件…

如何远程管理服务器详解

文章目录 前言一、远程管理类型二、远程桌面三、telnet 命令行远程四、查看本地开放端口 前言 很多公司是有自己的机房的&#xff0c;机房里面会有若干个服务器为员工和用户提供服务。大家可以想想&#xff1a;假设这家公司有上百台服务器&#xff0c;我们作为网络工程师&…