Python在if语句中引发了“=”上的SyntaxError

时间:2012-10-06 05:17:56

标签: python

我正在编写一个程序,它接受用户输入并将其与不同的命令字符串进行比较。当我尝试运行该程序时,我得到关于SyntaxError行的if method = 'addition':,IDLE以红色突出显示=

num1 = input('Enter your first value: ')
num2 = input('Enter your second value: ')
method = input('Which method will you be using? ')

if method = 'addition':
    solveFor = num1 + num2
elif method = 'subtraction':
    solveFor = num1 - num2
else:
    print("Please enter 'addition' or 'subtraction'")

3 个答案:

答案 0 :(得分:7)

Python中的等式比较运算符是===是用于为变量赋值的语句。

您的代码还有许多其他错误(从未定义的名称num1开始,num2,在开始时无所事事。您应该阅读the Python tutorial以了解Python语法的基础知识。

答案 1 :(得分:4)

以下是一些提示:

  • Python不需要像其他语言一样声明变量,因为它是动态类型的,所以不需要在脚本的开头写num1
  • 单个等号用于设置值(a = 2),而双等号用于比较值(if a == 2:)。
  • 您需要在所有ifelseelif语句后放置冒号。
  • 缩进在Python中非常重要。

您似乎缺乏基本的Python知识,应该通过一个体面的Python教程阅读。我被告知这本在线书很好:http://learnpythonthehardway.org/book/

供参考,以下是您的代码的固定版本:

print "Welcome to PyCalcBasic"

num1 = input("Enter your first value")
num2 = input("Enter you second value")
method = raw_input("Which mathematical operator will you be using?")

if method == "addition":
    solveFor = num1 + num2
elif method == "subtraction":
    solveFor = num1 - num2
else:
    print ("Please enter 'addition' or 'subtraction'")

答案 2 :(得分:0)

  1. 单个等于=是赋值,双等于==是等式测试
  2. ifelif声明或else
  3. 之后,您需要冒号