“print”语句中Python 3.4.1中的语法错误

时间:2014-11-01 18:43:25

标签: python python-3.x syntax-error

我在Python 3.4.1中遇到语法错误,但我不知道它的用途。我试图编写一个将摄氏温度转换为华氏温度的程序,反之亦然。但是,我在print语句的最终引号上遇到语法错误。谁知道会导致什么?

def celsiusToFahrenheit(celsius):
    """Converts celsius into Fahrenheit"""
    (9/5) * celsius + 32
def fahrenheitToCelsius(fahrenheit):
    """Converts fahrenheit into celsius"""
    (5/9) * (fahrenheit - 32)

celsius = 40

print ("40 degrees celsius is", celsiusToFahrenheit(celsius)
   "in Fahrenheit")

3 个答案:

答案 0 :(得分:2)

你有:

print ("40 degrees celsius is", celsiusToFahrenheit(celsius)
   "in Fahrenheit")

在每件商品之间添加逗号:

print ("40 degrees celsius is", celsiusToFahrenheit(celsius),
   "in Fahrenheit")

答案 1 :(得分:2)

你在函数调用中缺少一个逗号来分隔参数:

print ("40 degrees celsius is", celsiusToFahrenheit(celsius),  # <= Here
   "in Fahrenheit")

P.S。你的下一个问题就是为什么你没有从celsiusToFahrenheit得到你想要的东西。那是因为你没有return一个值。将每个函数的最后一行分别替换为return (9/5) * celsius + 32return (5/9) * (fahrenheit - 32)

答案 2 :(得分:0)

这是更具可读性和pythonic的打印方式:

print ("40 degrees celsius is {0} in Fahrenheit".format(celsiusToFahrenheit(celsius)))