2016-04-13 5 views

答えて

0

any()は、真または偽を返します。それを整数nと比較しています。

return n in arr 

編集:あなたも、最初の場所のように配列を作成しないようにすることができ、あるいはいっそのこと、あなただけの全体if..else文を削除し、単純に置き換えることができ

if n in arr: 

に行を変更この:それはnが三角形であると認めるときは

def Triangular(n): 
    arr = [] 
    for i in range(n): 
     if i*(i+1)/2 == n: 
      return True 
    return False 

これはすぐにTrueを返します。リストの終わりに達しても何も見つからない場合はfalseを返します。

+0

あなたの答えをありがとう。 –

0

あなたは番号が三角数であるかどうかを確認する代わりにこのコードを使用することができます:

def Triangular(n): 
    import math 
    x = (math.sqrt(8*n + 1) - 1)/2 
    if x - int(x) > 0: 
     return False 
    else: 
     return True 
関連する問題