我的任务是使用一个二维列表创建一个表,该列表存储的是华氏温度和等效的摄氏温度。使用以下华氏温度范围:-10至100递增10。因此温度为:-10,0,10,20,30,40,50...and等。
到目前为止这是我的密码..。
fList = []
cList = []
fToCList = []
for i in range(-10,101,10): #Fahrenheit range
fList.append(i)
for t in fList:
c = (t - 32) * 5/9 #Celsius conversion
cList.append(c)
fToCList.append(fList)
fToCList.append(cList)
print("Fahrenheit to Celsius Conversions:")
print(fToCList)
我知道这在技术上可以实现任务要求,但我想要做的是创建一个二维列表,其中12行,每个列有2列,具有= fahrenheit数和=摄氏数.诸若此类。
注意:我只应该在这个项目中使用循环和列表。我试着不进口任何东西。
发布于 2016-04-24 17:08:19
考虑以下代码:
def f2c(t):
"""Convert degrees Fahrenheit to Celsius."""
return (t - 32) * 5/9
temps = [(i, f2c(i)) for i in range(-10, 101, 10)]
首先,我们创建了一个温度转换函数。如果您需要在应用程序中执行其他转换,该函数将避免重复程序中其他地方的转换代码。
其次,我们使用一个列表理解来创建一个元组列表,其中第一个元素是华氏,第二个元素是摄氏转换。
发布于 2016-04-24 17:09:04
可以使用内置的zip()
函数组合两个列表:
fToCList = list(zip(fList, cList))
在zip对象上迭代,您将得到所需的二维列表。zip函数一个接一个地从给定的列表中获取值,并将它们放入元组。
您将得到的输出是一个元组列表,其中第一个数字是华氏温度,第二个数字是相同的摄氏温度:
[(-10, -23.333333333333332), (0, -17.77777777777778), (10, -12.222222222222221), (20, -6.666666666666667), (30, -1.1111111111111112), (40, 4.444444444444445), (50, 10.0), (60, 15.555555555555555), (70, 21.11111111111111), (80, 26.666666666666668), (90, 32.22222222222222), (100, 37.77777777777778)]
https://stackoverflow.com/questions/36826184
复制相似问题