Python中print函数输出时的左右对齐问题

为了将print函数输出的内容对齐,笔者在http://www.jb51.net/article/55768.htm中找到了左右对齐的方法。整理如下:

一、数值类型(int、float)

#  %d、%f是占位符
>>> a = 3.1415926
>>> print("%d"%a)    #%d只能输出整数,int类
3
>>> print("%f"%a)  #%f输出浮点数
3.141593
>>> print("%.2f"%a) #按照要求输出小数位数
3.14
>>> print("%.9f"%a)  #如果要求的小数位数过多,后面就用0补全
3.141592600

>>> b = 3         
>>> print("%4d"%b)            #如果是整数,这样写要求该整数占有四个位置,于是在前面增加三个空格
   3                                      #而不是写成0003的样式

>>> print("%06d"%int(a))   #整数部分的显示,要求共显示6位。如果整数不足6位,那么不足的位数在整数前面用0补足。
000003

>>> print(‘%06d‘%b)
000012

在实际编程中,我们常常需要写成a=xxx的样式,使输出界面更友好。所以笔者也copy了源原链接作者的一段代码,稍稍修改给出Python3的表达范式。

(1)右对齐

>>> print("PI=%10.3f"%a)     #约束一下,这个的含义是整数部分加上小数点和小数部分共计10位,并且右对齐
PI=     3.142

(2)左对齐
>>> print("PI=%-10.3f"%a)    #要求显示的左对齐,其余跟上面一样
PI=3.142

二、字符类型(str)

和数值类型类似,不过将%d、%f的占位符变为了%s的占位符。

时间: 2024-10-23 23:58:29

Python中print函数输出时的左右对齐问题的相关文章

python 中 print 函数用法总结

Python 思想: “一切都是对象!” 在 Python 3 中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心 ,其中python3和python2中print的用法有很多不同,python3中需要使用括号 缩进要使用4个空格(这不是必须的,但你最好这么做),缩进表示一个代码块的开始,非缩进表示一个代码的结束.没有明确的大括号.中括号.或者关键字.这意味着空白很重要,而且必须要是一致的.第一个没有缩进的行标记了代码块,意思是指函数,if 语句.

python中print()函数的“,”与java中System.out.print()函数中的“+”

python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能. python中: print("hello,world!") 输出结果为:hello,world! java中: System.out.print("hello,world!"); 输出结果为:hello,world! 我们可以看到,这两个函数的用法是一样的 print()函数还有这种用法: print("1+1=",1+1) 输出结

Python中读取文件输出时在头部输出\ufeff

问题出现: 在我测试python中的文本文件的读取与写入时,用到了字典对象来存储读出的数据. 1 std_data = dict() 2 with open(sys.argv[1], encoding='UTF-8') as fp: 3 alldata = fp.readlines() 4 for item in alldata: 5 no, name = item.rstrip('\n').split('.') 6 std_data[no] = name 7 print(std_data) 在

Python中print函数中中逗号和加号的区别

先看看print中逗号和加号分别打印出来的效果.. 这里以Python3为例 1 print("hello" + "world") helloworld 1 print("hello", "world") hello world 这里发现加号的作用是连接字符串 而逗号相当于用空格连接字符串. 尝试一下不同数据类型的操作.. 1 print("hello" + 123) TypeError: must be

python中print()函数的用法和end=""不换行详解

需求:打印五个字符,在一行上 代码: i = 0 while i< 5 : i += 1 print(i,end='') 结果: 1 2 3 4 5那么问题来了,为什么加一个end="" 就不换行了,就打印在一行上了呢?首先,我们要聊一聊print()这个内置函数了,它有哪些具体的参数呢?请看列表通过函数参数我们可以看到.print()函数里面是默认换行的,具体换行参数是end="\n".so,如果我们把参数end="\n"换成end=''

Python中print格式化输出

截取字符串输出,下面例子将只输出字符串的前3个字母 >>> str="abcdefg" >>> print "%.3s" % str abc 按固定宽度输出,不足使用空格补全,下面例子输出宽度为10 >>> str="abcdefg" >>> print "%10s" % str abcdefg 截取字符串,按照固定宽度输出 >>> st

记一次python的print函数引发的血案

我最近项目是基于自研的webserver框架实现的,支持C++.Java.Python等语言混合开发,上线一年多都没有发现重大问题.但就在昨天快下班时,运营同事突然打电话说生产环境无法导入报表,于是我登录生产环境,看了一下日志,发现报表文件已经正常上到服务器,但在解析时无法正常打开. 我们的报表都是xls格式,导入功能是Python开发的,我们选择xlrd库来解析xls文件.查看日志发现xlrd在打开文件时报“输入/输出错误”,具体日志如下: [20190614 17:28:48|ERR] sy

python 中简单的输出语句

1 python 中简单的输出语句 #coding:utf-8#输出的是整数,得到的也是整数,用raw_inputusername=raw_input('请输入用户名:')#输出的是整数或者字符串,得到的只是字符串#在终端输入时:python空格.py文件拖入pwd=raw_input('请输入密码:')#两个条件同时成立才执行if username=='lily'and pwd=='abc':print 'login'else:print 'notlogin' 2 利用python定义简单的函

python中的函数存入list中的实例

最近由于接触了python这个强大的东西,在写代码时考虑到代码的扩展性,就想到了将python的函数名存入list中.有点像习惯的c/c++中的函数指针的意思. 下面上代码: 1 # coding=utf-8 2 #!/usr/bin/python 3 #脚本的用法 python nn_daemon.py 4 import json, urllib, urllib2, subprocess, sys, os, logging, time, socket, time, calendar, date