如何创建一个检查20位数字列表的函数

时间:2015-03-23 01:14:51

标签: python

所以我目前有一个随机生成20位数的函数。现在我需要创建另一个函数,它接受第一个函数20位数字并计算其中0的数量。到目前为止,我有我的第一个功能:

创建一个计算第一个函数中0的数量的函数的第一步是什么?我知道我必须将(random_number)传递给我的函数作为参数然后可能是一个while循环来计算0的数量?

感谢您的帮助!

import random

def random_digits(n):

    range_start = 10**(n-1)
    range_end = (10**n)-1
    random_number= random.randint (range_start, range_end)
    print (random_number)

random_digits(20)

2 个答案:

答案 0 :(得分:2)

def zeros(num):
    return str(num).count('0')

print zeros(random_digits(20))

另一种方式可能是这样的:

def zeros(num):
    ctr = 0
    while num > 0:
        if num % 10 == 0:
            ctr += 1
        num = num/10
    return ctr

答案 1 :(得分:1)

您可以执行以下操作来计算字符串中出现的特定字符的编号(将您的20位数字转换为字符串后):

import random
def random_digits(n):
  range_start = 10**(n-1)
  range_end = (10**n)-1
  random_number= random.randint (range_start, range_end)
  print(random_number)
  return (random_number)

def countzeros(n):
  print(len([c for c in str(n) if c == '0']))

countzeros(random_digits(20))

例如返回:

22031776701742051347
3