1

私はこのCodingBatの問題を解決しようとしています:

パーティーが好きなリスが集まって葉巻を吸います。そのようなパーティーは、平日に葉巻の数が40から60の間である場合にのみ成功したと見なされます。ただし、週末には葉巻の数に上限はありません。指定された値のパーティが成功した場合にTrueを返す関数を記述します。

残念ながら、私は時々Pythonを使用しましたが、5行目の構文エラーでコードが失敗する理由を理解するのに十分ではありません。

def cigar_party(cigars, is_weekend):
  if is_weekend:
    if cigars >= 40:
      return True
  else if:
    cigars >= 40 and cigars =< 60:
      return True
  else:
    return False
4

9 に答える 9

5

elifPythonでは、の代わりにを使用する必要がありますelse if

詳細情報: http ://docs.python.org/2/tutorial/controlflow.html

また、次の行を変更します。

else if:
cigars >= 40 and cigars =< 60:

これに:

elif cigars >= 40 and cigars <= 60:
    return True

等号以下で<=ある必要があり、キーワードelifと式の残りの部分の間にコロンがあってはなりません。

于 2012-12-18T06:03:18.897 に答える
1

まず、tcdowneyが指摘したように、構文はelifです。次に、ある種の操作としてではなく、elifステートメントに論理評価を含める必要がある場合はそうではありません。最後に、等号の前に大/小の記号を付けます。

elif cigars >= 40 and cigars <= 60:
    return True

それでうまくいくはずです;)

于 2012-12-18T06:38:04.923 に答える
1
def cigar_party(cigars, is_weekend):
  a = range(61)
  if is_weekend and cigars not in a:
    return True

  elif cigars in range(40,61):
    return True

  else:
    return False
于 2019-12-25T10:34:32.573 に答える
1
def cigar_party(cigars, is_weekend):
   if is_weekend and cigars>=40:
     return True
   elif not is_weekend and cigars in range(40,61):
     return True
   return False
于 2020-04-04T11:55:26.517 に答える
0
def cigar_party(cigars, is_weekend):
    if is_weekend:
        return cigars >= 40
    return 40 <= cigars <= 60  // Python supports this type of Boolean evaluation

または三部形式を使用する:

def cigar_party(cigars, is_weekend):
    return cigars >= 40 if is_weekend else 40 <= cigars <= 60
于 2013-12-20T02:29:50.630 に答える
0
def cigar_party(cigars, is_weekend):
  if is_weekend:
    if cigars>=40:
      return is_weekend
  else:
    if cigars in range(40,61):
      return True
  return False
于 2020-02-17T06:46:12.010 に答える
0
def cigar_party(cigars, is_weekend):
  if is_weekend == True:
    if cigars >= 40:
      return True
    else:
      return False
  if is_weekend == False:
    if cigars >= 40 and cigars <= 60:
      return True
    else:
      return False
于 2020-06-16T22:24:46.573 に答える
0
#got 9/12 not bad! 

is_weekday = True
is_weekend = True 


def cigar_party(cigars, is_weekend):
    if is_weekend and cigars >= 0: 
        return True 
    elif is_weekday and cigars >= 40: 
        return True 
    else: 
        return False

于 2020-08-30T09:38:04.793 に答える
-1
def cigar_party(cigars, is_weekend):
  if is_weekend and cigars >= 40:
      return True
  elif cigars >= 40 and cigars <= 60:
      return True
  else:
    return False
于 2020-04-23T22:39:47.920 に答える