使用Python3中的摄氏到华氏转换器创建范围时出现问题

时间:2019-01-19 00:08:50

标签: python-3.x

我今天有一个作业问题。我的指示是

  

修改convert.py程序,使其打印摄氏温度表   温度和华氏等效温度从0到100度,步长为   10.将结果格式化为漂亮的列,保留两位小数。

所以我的摄氏温度到华氏度转换器正常工作,但我不知道如何以10为步长来制作表格。

def c2f():

   celsius = float(input("What is the Celsius temperature? "))

   fahrenheit = 9/5 * celsius + 32

   print("The temperature {1} is {0:,.2f} degrees Fahrenheit.".format(fahrenheit, celsius))

c2f()

一旦代码运行,它应该显示两列,其中一列显示摄氏温度,另一列显示华氏温度,每列增加10摄氏度,范围从0到100摄氏度,共10行。

2 个答案:

答案 0 :(得分:1)

我在下面提供了一些带注释的代码。

首先初始化摄氏度值列表。 然后,创建一个DataFrame来保存数据。最后,转换摄氏值列表,并将这些值附加到新列下的DataFrame中。

注意:完成这项作业有多种方法。

import pandas as pd
import numpy as np

def c2f(celsius):
    print(celsius)
    fahrenheit = (9 * celsius / 5) + 32
    print("The temperature {1} is {0:,.2f} degrees Fahrenheit.".format(fahrenheit, 
celsius))
    return fahrenheit

#initialize list of values ranging from 0 through 100 counting by 10s
list_celcius = np.arange(11)*10

#Create DataFrame with column "Celcius"    
df = pd.DataFrame({'Celcius': list_celcius})

#Append calculated values into Fahrenheit column in DataFrame
df['Fahrenheit'] = [c2f(list_celcius[i]) for i in range(len(list_celcius))]

print(df)

答案 1 :(得分:0)

一些建议:

  • 再读几次作业。
  • input定义中删除不需要的c2f()行。
  • print定义中删除不需要的c2f()行。
  • 再读几次作业。
  • 了解如何使用参数和返回值定义函数。
  • celsius定义中添加一个c2f()参数。
  • return定义中添加c2f()行。
  • 再读几次作业。

您现在可以使用f = c2f(celsius)函数。

并继续:

  • 再读几次作业。
  • 了解如何编写迭代循环。
  • 编写一个循环,循环访问celsius,其值从0到100乘以10。
  • 每次迭代都调用c2f()
  • 在每次迭代中显示当前celsius值和相应的c2f()值。