所以我对编程很新,我只是在努力制作一些程序。这个是不言自明的,但为什么我的“#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()
另外,如果我过于复杂的话,如果你能指出它是什么,我真的很感激。但是,尽量不要纠正我,我想尝试自己解决这个问题。
答案 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
(一个字符串)与1
和2
进行比较,它们是整数,您也可能想要在控制台输入5/9
以查看它为您提供的内容 - 但它们不是SyntaxError
。
答案 1 :(得分:0)
你应该试试
print("When it is " + str(fahrenheit) + " degrees fahrenheit, it is " + str(tempCel) + " degress celsius.")