0
def shazday(y):
    if y >= 1200 or <= 1299:
        x = 4

我在 1299 之前一直在“=”上得到语法,知道我做错了什么吗?我试图找到这两个数字之间的任何值来分配一个变量。我也尝试过 range 本身,但无法使其正常工作。如果我能找出如何正确检查 Python 范围内的值,那就太好了。

4

3 回答 3

2

这样看,在if要评估几个条件的语句中。所以我们把它分解

if y >= 1200 or <= 1299:

y >= 1200 吗?让我们说是的。

if true or <= 1299

接下来我们要问的是……等一下?没有什么可比的!(blank) <= 1299系统不知道(blank)应该是什么,所以它对你大喊大叫,直到你给它一些东西。在这种情况下,我们必须告诉它检查y

if y >= 1200 or y <= 1299:
                ^

另一种形成方法如下,仍然令人满意,每个比较都有一些可比较的东西

if 1200 <= y <= 1299:

# this can be thought of as below
if 1200 <= y and
           y <= 1299:
于 2013-10-31T21:49:42.113 回答
2
if y >= 1200 or y <= 1299:

但你可能的意思是:

if 1200 <= y <= 1299:
于 2013-10-31T21:41:44.087 回答
1
def shazday(y):
    if y >= 1200 or y <= 1299:
        x = 4

注意y第二个之前的<=。虽然y is greater equal or smaller equal在英语中有效并且每个人都理解其含义,但这不适用于编程语言......

解释器所做的是类似于

(y >= 1200) is it true or false?
(y <= 1299) is it true or false?

...然后应用逻辑运算符or。如果y缺少第二个,编译器不知道实际上应该小于等于 1299。

编辑:

除了缺少y你还可以更改orand. 否则,条件将始终为真,因为每个数字都是>= 1200or >=1299

于 2013-10-31T21:42:44.260 回答