为什么我在Python中使用print获取无效语法?

时间:2014-03-16 18:08:55

标签: python-2.7 syntax-error

所以我对编程很新,我只是在努力制作一些程序。这个是不言自明的,但为什么我的“#print;'在第12行(第一个' elif'声明)?

while True:
    temp = raw_input("Would you like to convert:\nCelsius to Fahrenheit (press 1)\nor\nFahrenheit to Celsius (press 2)\n")

    if temp == 1:
        celsius = raw_input("What is the temperature in degrees Celsius?")
        tempFahr = ((int(celsius)*(9/5))+32)
        print "When it is " + celsius + " degrees celsius, it is " + tempFahr + "degrees fahrenheit."

    elif temp == 2:
        fahrenheit = raw_input("What is the temperature in degrees Fahrenheit?")
        tempCel = ((int(fahrenheit)-32)*(5/9)
        print "When it is " + fahrenheit + " degrees fahrenheit, it is " + tempCel + "degress celsius."

    elif temp = 42:
        print "You're a winner!"

    else:
        print "That is not a valid option."

    print "Press 'enter' to input another value"

    raw_input()

另外,如果我过于复杂的话,如果你能指出它是什么,我真的很感激。但是,尽量不要纠正我,我想尝试自己解决这个问题。

2 个答案:

答案 0 :(得分:1)

有两种语法错误。首先,您忘记了)行中的结束tempCel,这会让Python对下一个print感到困惑:

    tempCel = ((int(fahrenheit)-32)*(5/9)
    print "When it is " + fahrenheit + " degrees fahrenheit, it is " + tempCel + "degress celsius."

然后您使用=表示==

elif temp = 42:

还有其他错误 - 例如,您将temp(一个字符串)与12进行比较,它们是整数,您也可能想要在控制台输入5/9以查看它为您提供的内容 - 但它们不是SyntaxError

答案 1 :(得分:0)

你应该试试

        print("When it is " + str(fahrenheit) + " degrees fahrenheit, it is " + str(tempCel) + " degress celsius.")