-5

我正在编写一个程序,它接受用户输入并将其与不同的命令字符串进行比较。当我尝试运行该程序时,我得到了一条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'")
4

3 回答 3

7

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

您的代码还有许多其他错误(以未定义的名称开头num1, num2,一开始什么也不做)。您应该阅读Python 教程以复习 Python 语法的基础知识。

于 2012-10-06T05:19:25.080 回答
4

以下是一些提示:

  • Python 不需要您像其他语言那样声明变量,因为它是动态类型的,因此无需num1在脚本的开头编写。
  • 单等号用于设置值 ( a = 2),而双等号用于比较值 ( if a == 2:)。
  • 毕竟if,你需要放置冒号elseelif语句。
  • 缩进在 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'")
于 2012-10-06T05:35:09.327 回答
0
  1. 单等号=是赋值,双等号==是等式测试
  2. if在or语句的条件之后elif,或在else
于 2012-10-06T05:19:38.963 回答