链接用户输入以运行集合函数(Python)时出现“无效语法错误”
我正在尝试设置一个“华氏温度到摄氏温度”和“摄氏温度到华氏温度”计算器,允许用户选择是否要将摄氏温度转换为华氏温度或将visa转换为华氏温度,但我遇到了一个无效的语法错误,我不太清楚原因。// 我知道这个问题可能非常基本,我对python还比较陌生链接用户输入以运行集合函数(Python)时出现“无效语法错误”,python,Python,我正在尝试设置一个“华氏温度到摄氏温度”和“摄氏温度到华氏温度”计算器,允许用户选择是否要将摄氏温度转换为华氏温度或将visa转换为华氏温度,但我遇到了一个无效的语法错误,我不太清楚原因。// 我知道这个问题可能非常基本,我对python还比较陌生 CelsiusorFarenheit = input("Would you like Celsius to Farenheit or Farenheit to Celcius?") if CelsiusorFarenheit == "celsius"
CelsiusorFarenheit = input("Would you like Celsius to Farenheit or Farenheit
to Celcius?")
if CelsiusorFarenheit == "celsius" or "Celsius":
def Celsius():
centToFaren = int(input("Enter a temperature in Celsius: "))
Farenheit= 9.0/5.0 * centToFaren+32
print ("Temperature:", centToFaren, "Celsius =", Farenheit, "F")
else CelsiusorFarenheit == "farenheit" or "Farenheit":
def Farenheit():
farenToCent = int(Input("Enter a temperature in Farenheit: "))
Celcius=(farenToCent-32)*5.0/9.0
print("Temperature:", centToFaren, "Fahrenheit =", Celcius, "C")
从上面的代码中我注意到了几点 要解决语法错误,需要将else更新为elif,后跟条件 要进一步改进代码2点,可以按如下方式调用变量lower
CelsiusorFarenheit.lower()
并将比较更新为长格式,如下所示
def celsius():
centToFaren = int(input("Enter a temperature in Celsius: "))
Farenheit= 9.0/5.0 * centToFaren+32
print ("Temperature:", centToFaren, "Celsius =", Farenheit, "F")
def farenheit():
farenToCent = int(Input("Enter a temperature in Farenheit: "))
Celcius=(farenToCent-32)*5.0/9.0
print("Temperature:", centToFaren, "Fahrenheit =", Celcius, "C")
if CelsiusorFarenheit.lower() == "celsius":
celsius()
elif CelsiusorFarenheit.lower() == "farenheit":
farenheit()
您正在else块中放置一个条件,这是一个语法错误。else块在没有其他条件匹配时执行,因此它们不能有条件。您可以将其更改为elif语句或删除该条件。因此,改变这一行:
else CelsiusorFarenheit == "farenheit" or "Farenheit":
为此:
elif CelsiusorFarenheit.lower() == "farenheit":
或者这个:
else:
啊,我明白了,这是有道理的。啊,我明白了,我很感激添加的指针!这已经解决了我现在的问题,我只需要它以两个十进制值打印两个输出值。这也会解决我的问题,谢谢你的帮助!总是乐于提供帮助:elif CelsiusorFarenheit==farenheit或farenheit:可能不会做您认为它会做的事情:这确实解决了错误消息,但它没有解释语句背后的错误逻辑,也没有解决代码中可以改进的其他问题