python:输出内容对不齐怎么办?这篇⽂章解决⼤家的数据输出对不齐,不好
看的问题
你⼀定遇到过下⾯的输出不好看的问题!
经过我的测试,确实好⽤,但是作者发的是⾃⼰的程序的解决⽅法,因此为了⼀劳永逸的解决同学们的烦恼,我把它万能化了:
只需要根据你的程序修改4个地⽅,就能让你的输出变得好看!!
直接上源代码:(需要修改的4个地⽅已经注释!其他地⽅不要改变!)
Output_content =[]#把你要输出的内容赋值给这个列表,注意保存的必须是字符串str
def show_all():
a ="="*80#边框长度,⾃⾏调整
b =19#输出格式总长度,⾃⾏调整
c =["姓名","电话","QQ","邮箱",""]#顶部数据名,请⾃⾏编辑“”内的内容
print("-"*50)
if len(Output_content)==0:
print("没有保存任何数据")
return
print(a)
headList = c
headStr ="".join([x +" "*(b - lenStr(x))for x in headList])
print(headStr)
print(a)
for e in Output_content:
d =[e["name"],e["phone"],e["qq"],e["email"],e["vx"]]#[]内容根据你保存列表的key编辑
lineStr ="".join([x +" "*(b - lenStr(x))for x in d])
print(lineStr)
print(a)
print("\n")
def lenStr(string):#计算长度
count =0
for line in string:
if isCh(line):
count = count +2
else:
python新手代码错了应该怎么改count = count +1
return count
def isCh(ch):#判断是否中⽂
if ch >='\u4e00'and ch <='\u9fa5':
return True
else:
return False
如果你不懂怎么改,看以下测试,带教程!!
我们随便搜个学⽣信息管理系统测试⼀下:
这是程序的输出模块:
我们先到保存学⽣信息的代码,把信息保存进Output_content这个列表到保存信息的代码:(最后⼀⾏的代码就是保存到列表中)
我们直接改掉列表名字:(⽤ctrl+R快捷键替换功能全部改掉)
改好了,只要是stuInfo的名字都改成Output_content
然后把源代码复制进来,把原来的输出函数删除!!
到这⼀步基本完成了,如果出现error,视情况修复。
接下来是改那4个地⽅了!!
原来的代码⾥⾯,输出格式只有三项,name sex phone,我们把格式改成跟它⼀样就⾏
我们的万能show_all函数修改后是这样的:
def show_all():
a ="="*80#边框长度,⾃⾏调整
b =19#输出格式总长度,⾃⾏调整
c =["姓名","性别","电话"]#顶部数据名,请⾃⾏编辑“”内的内容
print("-"*50)
if len(Output_content)==0:
print("没有保存任何数据")
return
print(a)
headList = c
headStr ="".join([x +" "*(b - lenStr(x))for x in headList])
print(headStr)
print(a)
for e in Output_content:
d =[e["name"],e["sex"],e["phone"]]#[]内容根据你保存列表的key编辑
lineStr ="".join([x +" "*(b - lenStr(x))for x in d])
print(lineStr)
print(a)
print("\n")
修改好后可以开始测试了,这时候我发现程序运⾏不了!!
很尴尬
在末尾加上这⼀句就可以了
所以啊,出现错误不要慌,你们出现其他错误,视情况⾃⾏修改!!
if __name__ =='__main__':
main()
我们看看运⾏效果如何:
我们会发现有⼀丝丝的错位,这是因为前⼀个数据长度不同会稍微影响后⾯⼀个数据的位置但是相⽐较以前我们的输出格式,已经⾮常完美了。
总结来看有局限性,但很⽅便啊,再也不⽤⾃⼰⽤format来对齐了
⾃⼰⼀个程序改⼀下试试吧,记得点收藏
然后感谢Rambo.Fan原⽂的作者的点⼦

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。