2016-06-24 20 views
0

プログラミングを始めたばかりで、追加によって乗算を実装することに挑戦しました。ここに私のコードです。なぜWhile文が1回だけ実行されていますか?

def multiply(a,b): 
    c=0 
    while a!=0 and b!=0: 
     a=(abs(a)-1) 
     c=b+b 
    return print(c) 

multiply(5,3) 

問題は、私に答えが与えられているということです。私は、while文が1回だけ実行していると思います。何故ですか?

+5

'while'ループにprintステートメントを追加して実行回数を判断するのは簡単です。問題が実際にどこにあるのかを判断するのに役立ちます。 – chepner

+1

@chepnerまたはpdbの使い方を学んでください。 – Kupiakos

+1

@Kupiakos私は彼が初心者であることはかなり明白だと思います。あなたの助言が最善の利益であるにもかかわらず、完全な本格的なデバッガのようなものを推薦するよりも、印刷ステートメントを使って基本的なデバッグスキルを開発するように彼を導く方が良いでしょう。 – oxalorg

答えて

4

c=b+bは、ループが何回実行されても、毎回cという値をループに置き換えるため、代わりにc=c+bを試してください。

関連する問題