首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在不使用format()的情况下以简单表格格式显示值

如何在不使用format()的情况下以简单表格格式显示值
EN

Stack Overflow用户
提问于 2019-06-16 22:02:44
回答 3查看 265关注 0票数 1

我试图用python制作一个简单的程序,我想以简单的表格格式显示我的输出。但每一次排列都会受到干扰。约束是不使用Python的format()

我试图使用python中的字符串格式打印所需的输出。但我无法获得所需的输出。请帮帮我。

我试过这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def footToMeter(foot):
    Meter = 0.305 * foot
    return Meter


def meterToFoot(meter):
    Foot = meter / 0.305
    return Foot

i = 1.0
j = 20.0

header = ('Feet','Meters    |    ','Meters','Feet')

print("%-14s%-15s%-15s%-15s" % header)

while i<=15:
    print("%s" % i ,"%15.3f" % footToMeter(i),"    |   ",j,"%16.3f" % 
meterToFoot(j))
    i = i + 1
    j = j + 6

实际输出应该是完全左对齐的表格格式(请在输出下面检查)。但是我的输出的排列受到了轻微的干扰。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-16 22:49:59

你可以用F-字符串。它们可从Python3.6开始使用。

如图所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
i = 1.0
j = 20.0

header = ('Feet','Meters')
print (f"{header[0]:<10}{header[1]:<10s}    |    {header[1]:<10s}{header[0]:<10s}\n")

while i<=15:
    print(f"{i:<10.1f}{footToMeter(i):<10.3f}    |    {j:<10.1f}{meterToFoot(j):<10.3f}")
    i = i + 1
    j = j + 6

以获得类似的输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Feet      Meters        |    Meters    Feet      

1.0       0.305         |    20.0      65.574    
2.0       0.610         |    26.0      85.246    
3.0       0.915         |    32.0      104.918   
4.0       1.220         |    38.0      124.590   
5.0       1.525         |    44.0      144.262   
6.0       1.830         |    50.0      163.934   
7.0       2.135         |    56.0      183.607   
8.0       2.440         |    62.0      203.279   
9.0       2.745         |    68.0      222.951   
10.0      3.050         |    74.0      242.623   
11.0      3.355         |    80.0      262.295   
12.0      3.660         |    86.0      281.967   
13.0      3.965         |    92.0      301.639   
14.0      4.270         |    98.0      321.311   
15.0      4.575         |    104.0     340.984

<用于左对齐。

header元组和字段宽度进行了修改。

您也可能对佩普感兴趣。

票数 1
EN

Stack Overflow用户

发布于 2019-06-16 22:13:12

您可以使用选项卡\t并使用空格和格式化字符串来正确显示,其中一个例子是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def footToMeter(foot): 
    return  0.305 * foot 

def meterToFoot(meter): 
    return meter / 0.305 

i = 1.0
j = 20.0

#Replaced spaces with a mix of tabs and spaces
print('Feet\t\t Meters\t\t|\t\t Meters\t\tFeet')
print()

while i<=15:
    #Played around with format strings
    print("%-4.1f\t\t" % i ,"%-.3f" % footToMeter(i),"\t\t|\t\t",j,"\t\t%-7.3f" %meterToFoot(j))
    i = i + 1
    j = j + 6

这个给我桌子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Feet         Meters     |        Meters     Feet

1.0          0.305      |        20.0       65.574 
2.0          0.610      |        26.0       85.246 
3.0          0.915      |        32.0       104.918
4.0          1.220      |        38.0       124.590
5.0          1.525      |        44.0       144.262
6.0          1.830      |        50.0       163.934
7.0          2.135      |        56.0       183.607
8.0          2.440      |        62.0       203.279
9.0          2.745      |        68.0       222.951
10.0         3.050      |        74.0       242.623
11.0         3.355      |        80.0       262.295
12.0         3.660      |        86.0       281.967
13.0         3.965      |        92.0       301.639
14.0         4.270      |        98.0       321.311
15.0         4.575      |        104.0      340.984
票数 2
EN

Stack Overflow用户

发布于 2019-06-17 04:07:19

对代码的最小更改将是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
old: print( "%s" % i ,"%15.3f" % footToMeter(i),"    |   ",    j,"%16.3f" % meterToFoot(j))
new: print("%4d" % i ,"%15.3f" % footToMeter(i),"   |","%9d" % j,"%12.3f" % meterToFoot(j))

所以关键是对所有的东西都有一个固定的宽度(ij在最初的时候没有一个),然后它只是一个数字的游戏(%15.3f甚至没有改变)。

结果如下:

米1 0.305 x20 65.574 2 0.610 26 85.246 3 0.915 32 104.918 4 1.220 x38 124.590 5 1.52544 144.262 6 1.830 x 50 163.934 7 2.135 x 56 183.607 8 2.440 62 203.279 9 2.745 68 222.951 10 3.050 74 242.623 113.355 - 80,262.295 12,3.660,86,281.967,13,3.965,92,301.639,14,4.270,98,321.311,15 4.575 - 104 - 340.984

您可以在这里看到它的作用:https://ideone.com/9UKuw1

同样的方法也可以用于左对齐:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
old: print(   "%s" % i ,"%15.3f" % footToMeter(i),"    |   ",      j, "%16.3f" % meterToFoot(j))
new: print("%-13d" % i ,"%-9.3f" % footToMeter(i),"|   ","%-14d" % j,"%-12.3f" % meterToFoot(j))

虽然我认为(左对齐)的结果很难看:

米1 0.305英尺20 65.574 2 0.610 x 26 85.246 3 0.915 32 104.918 4 1.220 - 38124.590 5 1.525 x 44 144.262 6 1.830 x 50 163.934 7 2.135 x 56 183.607 8 2.440 x 62 203.279 9 2.745\x{e76f} 68 222.951 10 3.050 74 242.623 11 3.355 x 80 262.295 12 3.660 86 281.967 13 3.965 x 92 301.639 144.270 / 98 98 15 4.575 104 340.984

或者在https://ideone.com/RatzqW看到它的动作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56625484

复制
相关文章
如何在 Python 中以表格格式打印列表?
在 Python 中,列表是一种常见的数据结构,用于存储和组织数据。当我们需要将列表的内容以表格形式展示时,可以通过特定的方法和技巧来实现。本文将详细介绍如何在 Python 中以表格格式打印列表,以便更好地展示和呈现数据。
网络技术联盟站
2023/06/01
1.6K0
EasyDSS如何在不更换地址的情况下扩容磁盘大小以增加存储空间?
对于EasyDSS录像存储的问题是大家咨询比较多的内容,EasyDSS平台内有默认的存储磁盘,当默认存储磁盘空间不足时就需要更改存储磁盘的地址或者对磁盘进行扩容,前文中我们分享过如何将RTMP协议视频直播点播平台EasyDSS录像文件存储在其他的空闲磁盘内,本文我们讲一下如何在不更换地址的情况下扩容磁盘的大小。
TSINGSEE青犀视频
2021/07/15
9310
EasyDSS如何在不更换地址的情况下扩容磁盘大小以增加存储空间?
SAP SD 以PDF格式显示BILLING的输出格式
SAP SD 以PDF格式显示BILLING的输出格式 1, BILLING在创建后自动输出,可以去SP01里看输出记录, 看BILLING的输出格式, 2,在这个界面的输入框里输入PDF!,如下图示: 回车,系统能以PDF格式显示该Invoice的打印效果, 3,当然在菜单里也可以实现这种效果,GotoPDF Preview, -完- 2021-4-13 写于苏州市
SAP虾客
2021/04/14
1.2K0
【说站】python format()的格式化使用
2、在字符串中使用以0开始的占位符,它可以用传入的参数依次替换相应的占位符{0},{1}。
很酷的站长
2022/11/24
3810
go time Format 格式化时间的使用
Go 里的定时器相关的函数有 time.After,time.AfterFunc,time.Tick 等
solate
2019/07/19
40.1K0
SAP MM以ALV格式显示采购报表
报表以Hierarchy的格式显示结果,对用户很不友好。一个正常的SAP用户都不喜欢这样的报表格式,不理解SAP系统的开发者和设计者们为啥觉得这种格式能堪使用。。。
SAP虾客
2023/07/04
2780
python format格式控制
要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表
用户7886150
2021/01/28
4930
Element UI 的表格部分内容显示对象格式
判断数据是否是对象类型,如果是增加pre元素与code元素并替换引号,判断的方法写在methods里面,根据函数返回的true或者false 来确定如何显示
tianyawhl
2019/12/12
3.8K0
Element UI 的表格部分内容显示对象格式
Spring在无RedirectAttributes的情况下(如Interceptor中)使用Flash scope
判断逻辑很简单,但是重定向的时候需要前台有消息提示,如果是在Controller中,可以在方法上注入RedirectAttributes参数,但是Interceptor中默认没有这个参数,那么我们如何实现RedirectAttributes的flashMessage功能呢?
飞奔去旅行
2019/06/13
5.5K0
MAF格式(mutation annotation format)
Mutation Annotation Format, 简称MAF, 是由TCGA制定的一种文件格式,用来存储突变注释信息。
生信交流平台
2022/09/21
1.8K0
MAF格式(mutation annotation format)
Excel如何在全选表格时而不选择空白区域?
1、点击[文本] 2、按<Ctrl+Shift+*>键 3、点击[复制]
裴来凡
2022/05/28
1.9K0
Excel如何在全选表格时而不选择空白区域?
WPF 表格控件 ReoGrid 的简单使用
ReoGrid 是一个开源的表格控件库,支持 Winform 和 WPF。本文演示在 WPF 中的使用,用的是直接加载 Excel 的方式,另外解决了触摸滑动的问题。
独立观察员
2022/12/06
3.9K0
WPF 表格控件 ReoGrid 的简单使用
DevOps如何在不牺牲安全性的情况下迁移到云端
企业采用DevOps意味着开发进行将比以往任何时候都要快。那么如何确保一切都是安全的,尤其是将业务迁移到云端时? 调研机构Gartner公司预测, 2022年全球云计算服务市场规模和增长率几乎是整体I
CloudBest
2019/09/17
6970
DevOps如何在不牺牲安全性的情况下迁移到云端
WordPress 技巧:使用 size_format 格式化字节
好吧,我以前介绍了一个字节格式化函数 byteFormat,好吧,WordPress 也有这个函数:size_format,他能把一些文件大小改成更容易阅读的格式。
Denis
2023/04/15
2130
JAVA字符串格式化——String.format()的使用
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。
DencyCheng
2020/03/31
65.8K0
JAVA字符串格式化——String.format()的使用
JAVA字符串格式化-String.format()的使用
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。
全栈程序员站长
2022/08/09
1.4K0
LaTeX中表格多行显示的最简单设置方法
这事实上是一个非常easy的问题,可是这两天发现我之前的解决方式太麻烦了。简介一下这样的最简单的方法:
全栈程序员站长
2021/12/15
2.7K0
String.format()的使用(Java字符串格式化)
1 问题背景 当我们在开发中需要格式化时或者当一字符串中有某一部分是需要变化时,我们应该如何快速的进行处理呢?比如处理批量的url中www.xxx.com/s?index=后面需要带参数时。 JDK
晓果冻
2022/06/15
7160
Python格式化输出——format
既然format()是一个方法,那是不是也接受*args和**kwargs形式的传参呢,答案是肯定的。
Awesome_Tang
2019/07/15
4.7K0
Python格式化输出——format
点击加载更多

相似问题

format以表格格式显示数据

10

如何在PHP中简单地以日历格式显示表格行

11

如何使用JAVA中的format()方法以表格格式打印?

11

用python以表格式显示";“分隔的值

14

以表格格式显示

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文