gpt4 book ai didi

python - 找出数字末尾有多少个零(当数字为 0 时,字符串索引超出范围错误)

转载 作者:行者123 更新时间:2023-12-05 08:30:08 28 4
gpt4 key购买 nike

我正在尝试解决标题中的问题,但遇到了 IndexError。

def count_zeros(number:int) -> int:
number = str(number)
i = 0
j = -1

while number[j] == '0'
i += 1
j += -1

return i

此代码仅在数字为 0 时才吐出 IndexError。我不明白为什么。

>>>count_zeros(0)


IndexError Traceback (most recent call last)
<ipython-input-45-688099e7700c> in <module>
----> 1 end_zeros(0)

<ipython-input-43-181de92af60c> in end_zeros(number)
4 i = 0
5
----> 6 while number[j] == '0':
7 i += 1
8 j -= 1

IndexError: string index out of range

最佳答案

我会在这里使用模数并计算右边零的数量:

def count_zeros(number:int) -> int:
if number == 0:
return 1
else:
count = 0
while True:
if number % 10 != 0 or number == 0:
break
count = count + 1
number = number / 10

return count

这种方法很简单,而且几乎肯定会优于将输入整数转换为字符串然后检查尾随零。

关于python - 找出数字末尾有多少个零(当数字为 0 时,字符串索引超出范围错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66192127/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com