编写一个名为“convert_temp”的温度转换函数。
函数签名应为:
def convert_temp( scale=None, source_temp=None ):
然后编写一个简短的程序来使用您编写的函数(函数和程序应该是同一个文件的一部分)。你的程序应该提示用户输入一个温标(假设用户会选择输入“F”或“C”),然后提示用户输入度数。使用用户提供的值,程序应该调用“convert_temp” 函数并传入两个参数,大致如下:
convert_temp(scale=F, source_temp=98.6)
子例程应该生成一行如下所示的输出(对于华氏度到摄氏度):
98.6 degrees F is 37.0 degrees C
或者,对于摄氏度到华氏度的转换:
100.0 degrees C is 212.0 degrees F
您应该报告的第一个温度和刻度是用户输入的温度和刻度,然后是转换后的温度和其他刻度。
到目前为止,我有以下代码:
#!/usr/bin/env python3
def convert_temp(scale=None, source_temp=None):
if scale == "F":
return(source_temp - 32.0) * (5.0/9.0)
elif scale == "C":
return(source_temp * (9.0/5.0)) + 32.0
else:
print("Needs to be (F) or (C)!")
scale = input("Select (F) or (C): " )
source_temp = int(input("What is the temperature: " ))
m = convert_temp(scale, source_temp)
print(source_temp, "degrees", scale, "is", m, "degrees", scale)
需要帮助的是将转换后的刻度(F或C)添加到打印输出中。
你能做的最简单的事情就是让函数返回转换温度的刻度,因为它已经基于给定的刻度。
它可以简单地返回一个元组,以目标标度作为第一个元素
所以现在输出同时显示原始比例和转换后的比例:
注意:如果给定的比例不受支持,函数将输出错误消息。它应该
raise
而不是异常。注2:为什么不把输入的数字转换成浮点数呢?
您需要在
:
之后缩进。。。相关问题 更多 >
编程相关推荐