在Python 3中用二维列表制作表格
我需要创建一个有两列、总共有12行的表格。
第一列的范围是从-10到110,每次增加10。
第二列的数字是根据第一列的数字通过一个数学公式计算出来的。
我需要的第一个表格是关于温度的。打印出来的样子应该是这样的:
华氏温度 ------------------ 摄氏温度
-10------------------------------35
0--------------------------------65
10-------------------------------25
20-------------------------------65
第二列的摄氏温度是通过一个公式把华氏温度转换过来的。或者我也可以手动列出这个列表。
我现在遇到的问题是,我不太明白该怎么做。
我对如何创建一个二维列表以及如何把它格式化成上面那样的样子不太理解。
我读了很多我们正在学习的内容,但里面没有提到如何做这样的事情。我在寻找正确的语法和对这些语法的解释。
2 个回答
0
在Python 3.x中,可以通过打印方法创建类似矩阵的结构。如果你使用的是Python 2.7或更早的版本,就需要加上一行导入语句,比如 from __future__ import print_function
。
def fahren2Celsius(f):
c = (f - 32) / 1.8000
return c
print("Fahrenheit", "Celsius", sep = "\t\t")
for x in range(-10,110,10):
print("{}".format(x),"{}".format( fahren2Celsius(x) ), sep="\t\t\t")
希望这正是你想要的内容。
1
其实你不需要为了这么简单的事情去用表格。你可以用一组元组(就是一对一对的数据)来达到同样的效果。
def f2c(f_temp):
return (f_temp - 32) * 5 / 9
f_temps = range(-10, 110, 10)
c_temps = [f2c(t) for t in f_temps]
combined = zip(f_temps, c_temps)
for f_temp, c_temp in combined:
print('{0}...{1}'.format(f_temp, c_temp))