2016-10-13 10 views
2

負の数の要素を見つけてリストに出力する関数を書く必要があります。どうすればいい?私は正の数(以下を参照)をする機能を得ることができますが、負の数はしません。負の数の要素を見つける関数

#Finds factors for A and C 
def factorspos(x): 
    factorspos = [1,-6]; 
    print("The factors of",x,"are:") 
    for i in range(1, x + 1): 
     if x % i == 0: 
      factorspos.append(i) 
      print(i) 

私はそれが1に選択された数(以下コード)からカウントが、まだ結果が得られないことになるので、よりループカウント値を変更しようとした:(

#Finds factors for A and C 
def factorspos(x): 
    factorspos = [int(-6),1]; 
    print("The factors of",x,"are:") 
    for i in range(int(-6), x + 1): 
     if x % i == 0: 
      factorspos.append(i) 
      print(i) 

私がCCOを変更しました固定数。

#Finds factors for A and C 
def factorspos(x): 
    Cco = -6 
    factorspos = [int(Cco),1]; 
    print("The factors of",x,"are:") 
    for i in range(int(Cco), x + 1): 
     if x % i == 0: 
      factorspos.append(i) 
      print(i) 
      return factorspos 
+2

Googleにお知らせいただきありがとうございます。質問ありますか? – jonrsharpe

+0

@ Sepy13: 'Cco'の価値は?実際に関数と同じ方法で "戻り値"を呼び出すべきではありません。 –

+0

@ Sepy13:これを読んで 'factorpos'を返してください –

答えて

1
def factorspos(x): 
    x = int(x) 
    factorspos = [] 
    print("The factors of",x,"are:") 
    if x > 0: # if input is postive 
     for i in range(1,x+1): 
      if x % i == 0: 
       factorspos.append(i) 
       print(i) 
     return factorspos 
    elif x < 0: #if input is negative 
     for i in range(x,0): 
      if x % i == 0: 
       factorspos.append(i) 
       print(i) 
     return factorspos 


print(factorspos(12)) #outputs [1, 2, 3, 4, 6, 12] 
print(factorspos(-12)) #outputs [-12, -6, -4, -3, -2, -1] 

あなたが実際にあなたの問題を修正するには本当に近かった。私はEXTRの追加の自由を取りましたあなたが持っていたものの機能。基本的には、入力xが肯定的か否定的なのかを調べるためにコンディションチェッカーを追加しました。この機能は2つの異なることを行いました。彼らがしたことはあなたが提供したものでしたが、掃除されました。

注意事項range()は、最初の数値から始まり、2番目のパラメータの短い1つの数値を終了します。 range(1,10)は1から9を与えるでしょう。だからこそ、あなたが見るならば、負のセクションはxから0になります。正のセクションでは、+1は1からx + 1になります。なぜなら、+1は私たちの入力を確実に含んでいるからです。それ以来あなたが知っている残りの部分は、よくあなたが書いたものです。気にしなければ自由に質問してください。

+0

ありがとう!申し訳ありませんが、私は少しノービーだった場合:) – Sepy13

+0

@ Sepy13誰もが騒音は問題ではありません開始する必要があります。ちょうどあなた自身の好意と研究をしてから、あなたのコード、あなたが試したもの、あなたの質問/問題が何であるか、そして入力と出力を望む完全な答えを尋ねてください。そうすれば、人々はあなたをより迅速かつ簡単に助けることができます。 – MooingRawr

関連する問題