我正在编写一个程序,它调用一个函数将摄氏度转换成华氏度。我已经成功地让程序工作,因为它应该是我正在尝试做一些其他的改进,并停留在如何我可以使它,所以如果用户在'20.5'输入,它将显示在控制台中成功的答案没有错误。你知道吗
但是,我只尝试包含一个特定的范围,例如从20到30。这包括20.5,21,21,5,22,22.5等等
我一直在网上寻找解决方法,但似乎找不到任何东西。任何帮助或提示将不胜感激!你知道吗
以下是我当前的代码: (忽略Docstring)
Tc = int(input("Enter a Temperature in Celsius: "))
Tf = ((9 * Tc)/5) + 32
def convert(Tc, Tf):
"""'convert' function takes 2 parameters, 'Tc' & 'Tf' and
completes the operation for the two variables"""
print(Tc, "in degrees Celsius is", Tf, "in degrees Fahrenheit")
return Tf
convert(Tc, Tf)
使用
float
而不是int
:而不是:
使用:
原因:
如果将用户输入数据转换为
int
,则会出现以下错误:另一方面,如果您将它转换为
float
,那么它对于int
和float
值都可以正常工作。你知道吗此外,计算/转换应该在函数内部进行,而不是在函数外部。你知道吗
OP:我只想包括一个特定的范围,例如20-30
您可以在函数内部使用如下检查:
if Tc <= 20 or Tc >= 30:
,但它失败了,exit()
。你知道吗因此:
输出:
范围检查:
函数名为“convert”,但它实际上只打印一行。你知道吗
你只需要
你得到一个错误的原因,是因为你输入了20.5,然后强迫它是一个int。只要把int改成float,问题就解决了。你知道吗
读取并转换为
float
,就像使用float(input())
除此之外,我还注意到在代码中,您在函数ie
Tf = ((9 * Tc)/5) + 32
之外计算结果可以在函数中包含该行并显示结果。这是使用函数的理想方法。你知道吗
你可以这样做
在这里,您读取输入,然后将其传递给函数,函数在其中计算结果并返回结果。这是在代码中使用函数的理想方法。你知道吗
在你提到的问题中
所以你只需要在这个范围内进行转换,否则只需要显示其他消息。您可以使用一个简单的
if
在函数中执行简单的检查。你知道吗此外,如果您可以将计算和显示分为两个不同的函数,那么这段代码可以变得更好、更高效。哪种做法最好
现在函数显示一条错误消息,当温度不在范围内时返回-1。你知道吗
相关问题 更多 >
编程相关推荐