Member 14972637 Ответов: 1

Я получаю неверные результаты, так что кто-нибудь может дать мне предложения


Read a positive integer (N) from user input. Write a for loop to count and print the number of 0's in N.
 
Note: must use the for loop.
 
Hint:
in; if ...;

 
Example 1:
Input:

20020200
Output:

5

What I have tried:

<pre># read an integer

n = int(input())

# initialize count

count = 0

# write a for loop with proper iterable
for i in str(n):
    if i == 0:
        count = count + 1
    else:
        continue

print(count)

1 Ответов

Рейтинг:
10

Richard MacCutchan

Вы читаете строку и преобразуете ее в целочисленное значение. Почему же вы тогда преобразуете его обратно в строку? И в вашем цикле вы проверяете, равен ли символ целочисленному значению 0, которое никогда не будет истинным. Все, что вам нужно, это:

# initialize count
count = 0
# write a for loop with proper iterable
number = input()
for i in number:
    if i == '0':
        count = count + 1

print(count)