编写一个名为'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
或者,对于Celsius到Fahrenheit的转换:
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)添加到我的打印输出中。
答案 0 :(得分:0)
您需要在:
...
#!/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)!")
return
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)
答案 1 :(得分:0)
您可以做的最简单的事情是让函数返回转换温度的比例,因为它已经将其行为基于给定的比例。
它可以简单地返回一个元组,目标比例为其第一个元素
#!/usr/bin/env python3
def convert_temp(scale=None, source_temp=None):
if scale == "F":
return 'C', (source_temp - 32.0) * (5.0/9.0)
elif scale == "C":
return 'F', (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: " ))
s, m = convert_temp(scale, source_temp)
print(source_temp, "degrees", scale, "is", m, "degrees", s)
所以现在输出显示原始比例和转换后的比例:
Select (F) or (C): F
What is the temperature: 92
92 degrees F is 33.333333333333336 degrees C
Select (F) or (C): C
What is the temperature: 33
33 degrees C is 91.4 degrees F
注意:如果不支持给定比例,该函数会打印出错误消息。它应该raise
而不是异常。
注意2:为什么不将输入数字转换为浮动?
答案 2 :(得分:0)
仅解决上面的答案,我就对一个懒惰的用户进行了调整-可能不会在输入部分使用大写的F或C,而是将“ f”或“ c”放在下面案件... 此答案可以解决此问题,并返回在打印语句中以标题大小写正确设置的比例尺。
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFlags="flagDefault|flagIncludeNotImportantViews|flagRequestTouchExplorationMode|flagRequestEnhancedWebAccessibility|flagReportViewIds|flagRetrieveInteractiveWindows"
android:accessibilityEventTypes="typeViewClicked|typeViewFocused"
android:accessibilityFeedbackType="feedbackGeneric"
android:notificationTimeout="0"
android:canRetrieveWindowContent="true"
android:description="@string/access" />