5

作为 python 课程的一部分,我正在做的一项任务是生成一个介于 1 到 10 100,000 次之间的随机数,并计算每个数字出现的次数。这是我为此任务编写的代码:

    import random

    one = 0
    two = 0
    three = 0
    four = 0
    five = 0
    six = 0
    seven = 0
    eight = 0
    nine = 0
    ten = 0
    count = 0

    while count < 100000:
        random = random.randint(1, 10)

        if random == 1:
            one += 1
        elif random == 2:
            two += 1
        elif random == 3:
            three += 1
        elif random == 4:
            four += 1
        elif random == 5:
            five += 1
        elif random == 6:
            six += 1
        elif random == 7:
            seven += 1
        elif random == 8:
            eight += 1
        elif random == 9:
            nine += 1
        else:
            ten += 1

    count += 1

    print("1 occured " + str(one) + " times")
    print("2 occured " + str(two) + " times")
    print("3 occured " + str(three) + " times")
    print("4 occured " + str(four) + " times")
    print("5 occured " + str(five) + " times")
    print("6 occured " + str(six) + " times")
    print("7 occured " + str(seven) + " times")
    print("8 occured " + str(eight) + " times")
    print("9 occured " + str(nine) + " times")
    print("10 occured " + str(ten) + " times")

但是我得到一个 AttributeError 说:

    Traceback (most recent call last):
      File "J:/Python/Extension Task - Random Numbers.py", line 19, in <module>
        random = random.randint(1, 10)
    AttributeError: 'int' object has no attribute 'randint'

我已经尝试更改标题,使其不包含单词 random 并且它仍然不起作用,我花费的时间比健康寻找解决方案无济于事。

4

1 回答 1

7

您已经命名了一个变量random,它隐藏了您尝试使用的模块的名称:

random = random.randint(1, 10)

在这一行之后,random是你的随机数,而不是random模块。为这个变量使用不同的名称!

于 2013-06-17T17:41:03.787 回答