servet oksuz
servet oksuz

Reputation: 21

Benford Distribution

Hello I am trying to write a code for Benford distribution, but I got this errror:

def leading_digit(n):
    while n >= 10:
        n = n//10
    return n

def Ben(k):
    results = []
    for i in range(k):
        random_number[i] = np.random.randint(10000)
        results.append(leading_digit(random_number[i]))
    return results

Ben(2)

Error message:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-27-5811e9105b42> in <module>
----> 1 Ben(2)

<ipython-input-26-5df31a0e6a56> in Ben(k)
      2     results = []
      3     for i in range(k):
----> 4         random_number[i] = np.random.randint(10000)
      5         results.append(leading_digit(random_number[i]))
      6     return results

NameError: name 'random_number' is not defined

Upvotes: 1

Views: 74

Answers (1)

VietHTran
VietHTran

Reputation: 2318

You should initialize random_number list (random_number = [0] * k) with some value since it reports the variable random_number not defined error.

def leading_digit(n):
    while n >= 10:
        n = n//10
    return n

def Ben(k):
    results = []
    random_number = [0] * k
    for i in range(k):
        random_number[i] = np.random.randint(10000)
        results.append(leading_digit(random_number[i]))
    return results

Ben(2)

Upvotes: 1

Related Questions