python-3.x 编写一个程序,接受用户输入的数字,并计算输入数字中的零、奇数位和非零偶数位

qni6mghb  于 2023-03-04  发布在  Python
关注(0)|答案(1)|浏览(122)

如果0是第一个数字,代码不计算0。例如,如果输入是012,则返回0而不是1。

n=int(input())
str_number = str(n)
zero = 0
odd = 0
even = 0
for i in str_number:
    if int(i) == 0:
        zero += 1
    elif (int(i)%2) == 0:
        even += 1
    else:
        odd += 1
print(f"Number of odd digits:{odd}")
print(f"Number of non-zero even digits:{even}")
print(f"Number of zeros:{zero}")
yx2lnoni

yx2lnoni1#

您正在将int转换为string,然后再转换回int。这将导致0被删除,因为012实际上只是12。
尝试

n=str(input())

#do stuff
for i in n:
    #do more stuff

相关问题