2015-04-06 100 views
1

我是新的python,我試圖從循環計算數字。讓這個問題容易讓你理解。如何計算循環中的數字?

我在Python已經此程序:

print("Please enter your case:") 

myCase = input("\nEnter: ") 

for numCase in range(0, int(myCase)): 
    print("\nPlease enter your number: ") 
    myNum = input("\nEnter: ") 

    for i in myNum: 
     divideNum = int(myNum) % int(i) 
     print(divideNum) 

現在運行這個程序後,它提供了以下的輸出:

Please enter your case: 

    Enter: 2 

    Please enter your number: 

    Enter: 456856 
    0 
    1 
    4 
    0 
    1 
    4 

    Please enter your number: 

    Enter: 12 
    0 
    0 

    //You could see here, these are the result of the remainder. 

問題

我想計算在案例1和案例2中發生零發生two次看到我的程序中,我計算Remainder在給定的輸入。

這是另一個理解的例子!

想,我給輸入:

Enter: 25621 
1 
1 
1 
1 
0 

現在,在這裏我要計算髮生在one time是零。那麼,如何在Python中實現這個過程呢?

幫助,將不勝感激!

回答

0

要計算計算值中零的數量,您有很多選項。

這裏有兩個:

使用變量存儲計數:

zeros_count = 0 
for i in myNum: 
    divideNum = int(myNum) % int(i) 
    print(divideNum) 
    if divideNum == 0: 
     # value is 0, add 1 to the count 
     zeros_count = zeros_count + 1 
print("number of zeros: %d" % zeros_count) 

或者使用list comprehension創建從值零的列表,然後使用len功能,嵌入循環中列表構造:

zeros_count = len([i for i in myNum if i == '0']) 
print("number of zeros: %d" % zeros_count) 
+0

int不可迭代 問題中的循環如何工作? – Ajay 2015-04-06 07:40:28

+1

如果仔細觀察,他不會將輸入轉換爲int,所以它實際上是一個字符串(這是一個可迭代的),並且他只在循環內部進行轉換。 – 2015-04-06 07:42:16

+0

Thnks ...你的回答確實奏效了! .. :) – stackoverflow 2015-04-06 07:56:47