【问题标题】:What is the cause of the syntax error in greater than or equal "if statement"?大于等于“if 语句”语法错误的原因是什么?
【发布时间】:2015-03-26 07:54:04
【问题描述】:

我编写的以下代码是在 python 中制作“if 语句”的课堂练习的一部分,我将其保存为 x.py。

    name = raw_input()("Please enter your name:")
print ("Hello", name)
age = int(raw-input("what is your age?"))
print "according to you, your age is", age
print "in a year you will be ", age +1
#if age is >= 21 print "In the state of Massachusetts, you can legally purchase alcoholic drinks"
if age is => 21:
    print "In the state of Massachusetts, you can legally purchase alcoholic drinks." 
else:
    print " something else…"
    print "here’s one more thing…"

问题是当我尝试在终端中运行程序时,出现以下错误:

  File "x.py", line 7
    if age is => 21:
              ^
    SyntaxError: invalid syntax

我尝试重新输入该行,查找条件语句示例,并在 stackoverflow 中搜索类似问题,但找不到任何与我的错误非常接近的错误。由于新英格兰的暴风雪,我也无法联系到我的教授或助教。我在 v10.9.5 的 mac 书上使用 Python 2.7.9。我将不胜感激。

【问题讨论】:

  • 它是>=。你称它为大于或等于,而不是等于或大于,因此首先是>,然后是=。运算符的语法在here 中描述。此外,您不能一个接一个地使用两个运算符(is>=)。
  • 这有很多问题。当你在编程时,一切都必须准确并且拼写完美。这是raw_input(prompt_str) 不是raw_input()(prompt_str)raw-input。是 if x < yif x is y 而不是 if x is < y 等。
  • if age is => 21: 行更改为if age >= 21:。没有is 并且(正如 Bakuriu 所说),大于号出现在等号之前。互联网上充斥着正确的if 语句示例。当你在学习编程时,你需要做的是仔细观察每个字符是否正确。两位炼金术士发现了一些 Python 在您通过此错误后会抱怨的错误。

标签: python-2.7 if-statement syntax


【解决方案1】:

显然存在语法错误。

if age >= 21:
    print "In the..."

或:

if age is 21:
    print "In the..."

【讨论】:

  • 不要使用is 来测试数字是否相等。使用==; CPython 碰巧重用了小整数对象,因此is 身份测试可能有效,但这在语言中不保证。
【解决方案2】:

虽然您在我的评论中提到的代码中存在许多语法错误,但您询问的是:

运算符is 表示“与对象完全相同”,通常用于将对象与None 进行比较。

运算符<<=>>===!= 是数学比较运算符,在数学或符号逻辑中按常规编写,例如x < y.

这些运算符不能组合,这样做没有意义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 2016-09-25
    • 2011-09-22
    相关资源
    最近更新 更多