我一直在寻找python的数字中有多少个奇数位

时间:2016-02-18 16:28:03

标签: python-3.x

所以我们必须在python中编写一个函数来计算一个非负整数的位数是奇数。

    def odd_dig(n):
      ans = 0
      for i in range(n):    
        if i in range(n) %2 == 1:
          ans += 1
        elif n[i]==0:
          return None

2 个答案:

答案 0 :(得分:1)

我不知道python,但是对于解决方案,为什么不能像以下那样?

而n> 0做这两件事:

  • 将(n%2)添加到您的点数中
  • 将n除以10

因为n被定义为非负的,我们应该没问题。

答案 1 :(得分:0)

您正在使用范围(n)创建从1到n的列表。因此,当你执行范围(5)时,在你的for循环中,你将重复1,2,3,4,5而不是n的实际数字。

如果你想找到你可以做像len(str(n))这样的数字位数,它找到字符串形式n的长度。

在此之后,请确保您在正确的变量上使用正确的运算符(字符串上的字符串运算符,列表上的列表运算符等)。