【问题标题】:Python Class VarPython 类变量
【发布时间】:2022-06-10 21:54:33
【问题描述】:

我正在尝试打印一系列数字,但以下错误不断发生

Traceback (most recent call last):
  File "/home/user/scripts/./a.py", line 36, in <module>
    out()
  File "/home/user/scripts/./a.py", line 32, in out
    a = Class()
  File "/home/user/scripts/./a.py", line 27, in __init__
    n.var = (str(random_n))
AttributeError: 'int' object has no attribute 'var'

我不知道为什么它说“int object has no attribute var”,因为我在声明n.var = (str(random_n))时已将其更改为字符串

实际代码

import random


class Class:
    def __init__(ddd):
        for n in range(13):
            random_n = random.randint(11, 25)
            n.var = (str(random_n))



def out():
    a = Class()
    print(n.var)


out()

我想这样做,因为以前我是这样做的

旧代码

def numbers():
    #global count
    for n in range(13):
        random_n = random.randint(11, 25)
        #print(random_n)
        for pre in range(32):
            random_fixos = random.randint(67, 99)
            print(str(random_n)+str(random_fixos))
            for f in range(1000000):
                random_numbers = random.randint(1000000, 10000000)
                numeros = (str(random_ddd)+str(random_fixos)+str(random_numbers))
                print(numbers)
                time.sleep(1.0)


numbers()

问题在于,虽然最后一部分 (for f in range (1000000)) 随机打印数字,但第一个 (for n in range(13)) 和第二个 (for pre in range (32)) 以一种稳定的方式打印。

例如: 第一次执行

11845407780
11847790993
11845521441
11844457881
11841447069

第二次执行

18794056402
18797877007
18796405493
18799151318
18796108887

在执行的两个输出中,前四位数字不是随机打印的(第一个输出卡在1184,第二个输出卡在1887)。 据我所知,只有当其余数字达到所有可能的组合时,那些“卡住”的数字才会改变。此外,一旦我重置执行,前四位数字就会改变。

我的目标是以完全随机的方式打印数字,但考虑到我已经为他们的range 设置了什么

抱歉,问题太长了。我提前感谢任何帮助过我的人!!!

【问题讨论】:

  • 我觉得与您的意图很接近的是: 1. 接受self 作为__init__ 的第一个参数(每个实例方法都应该这样;我不知道ddd 是什么应该是),以及 2. 分配self.var = ... something ...。不过,您显然根本不了解 Python 类;这有很多问题,如果我想的话,我无法解释所有这些(因为根本问题是试图编写你不理解的代码)。你需要完成一个深入涵盖这些内容的 Python 课程或教程,StackOverflow 无法从头开始教你课程。

标签: python-3.x class random


猜你喜欢
  • 2011-03-24
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 2016-11-07
  • 2017-05-04
  • 2011-10-21
  • 2017-12-05
  • 2015-02-03
相关资源
最近更新 更多