2016-11-12 90 views
0

我是一個總編程初學者。我的問題是這個代碼實際上做了什麼。我認爲它需要從10開始的整個分割結果,然後計算mod 10,並打印它。我認爲這裏的res不是Python中的內置命令,它只是一個在這裏使用的變量,但其值爲零。瞭解這個簡單的代碼

這裏是有問題的代碼:

res=0 
num=int(input("Enter a postive integer: ")) 
while num > 0: 
    res=res+(num % 10) 
    num = num // 10 
    print(res) 
+0

您是否運行過代碼? [這看起來類似](http://stackoverflow.com/questions/14939953/sum-the-digits-of-a-number-python#14940026) –

+0

這是一個給定的代碼,這是作業的一部分。我確實運行了它,這就是我認爲的那樣,但如果那是真的,結果怎麼會比9大。 –

+0

因爲'res'正被添加到 –

回答

0

嘗試運行此。

res=0 
num=int(input("Enter a postive integer: ")) 
while num > 0: 
    print("res = {0} + {1}".format(res, num % 10)) 
    res = res + (num % 10) 
    num = num // 10 
print(res) 

在詞語,while num > 0,的num數字從右到左求和。

res從0開始,並且每次在循環中增加。

+0

謝謝,現在我明白它的作用了。但我實際上並不明白它是如何做到的。我的意思是,這裏的commnand意思是「所有數字的總和」? Python中的「num // 10」給出了整除數爲10的整數結果,「num%10」給出了除數十的餘數。那麼究竟是什麼讓程序總結出這些數字呢? –

+0

'res'是一個整數。 '+'增加了一些東西。 'res = res +'添加到現有的'res'值並且可以被重寫爲'res + =' –