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

1299 の直前に "=" で構文を取得し続けます。何が間違っているのか分かりますか? 変数を割り当てるために、これら2つの数値の間の値を見つけようとしています。範囲自体も試しましたが、機能しませんでした。Python で範囲内の値を適切にチェックする方法を見つけることができれば、それは素晴らしいことです。

4

3 に答える 3

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

しかし、あなたはおそらく次のことを意味します:

if 1200 <= y <= 1299:
于 2013-10-31T21:41:44.087 に答える
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 に答える
1
def shazday(y):
    if y >= 1200 or y <= 1299:
        x = 4

y2 番目の前に注意してください<=y is greater equal or smaller equal英語では有効で誰もが意味を理解していますが、これはプログラミング言語では機能しません...

インタプリタが行うことは次のようなものです

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

...そして、論理演算子を適用しますor。2 番目yが欠落している場合、コンパイラは、実際に 1299 に等しい小さい方を認識できません。

編集:

行方不明のほかに、 に変更するyこともできます。それ以外の場合、すべての数値がまたはであるため、条件は常に true になります。orand>= 1200>=1299

于 2013-10-31T21:42:44.260 に答える