Skip to content

I'm getting a NameError I don't think was supposed to happen #256

@Hinomupi

Description

@Hinomupi

I'm new to programing. I wrote a program and I'm getting the error "NameError: global name 'taman' is not defined" even though I have already defined taman.
Here's the code:

def setup():
    global taman
    global linhas
    global colunas
    global start
    try:
        file = open("settings.txt","r")
    except FileNotFoundError:
        file = open("settings.txt","w")
        file.write("Número de colunas:\n3\nNúmero de linhas:\n3\nRaio:\n30\nEspaço (~distância entre as figuras):\n10\nVelocidade (em rad/s):\n0.01\nFase do x (fração do pi):\n0\nFase do y (fração do pi):\n0\nEspessura do traçado:\n3")
        file.close()
        file = open("settings.txt","r")
    taman = file.read().split('\n')
    file.close()
    file.close()
    for x in [1,3,5,7,15]:
        taman[x] = int(taman[x])
        print(taman[x])
    taman[9] = float(taman[9])
    for x in [11,13]:
        print(taman[x])
        taman[x] = PI*float(taman[x])
    start = True
    size((taman[7]+2*taman[5])*(taman[1]+1),(taman[7]+2*taman[5])*(taman[3]+1))
    colunas = [bolinha((x + (1/2))*(taman[7] + 2*taman[5]) + taman[5],taman[5]+(taman[7])/2,x*taman[9],taman[5],taman[11]) for x in range(1,taman[1]+1)]
    linhas = [bolinha(taman[5]+(taman[7])/2,taman[5]+(x + (1/2))*(taman[7] + 2*taman[5]),x*taman[9],taman[5],taman[13]) for x in range(1,taman[3]+1)]
    background(0)

While it does print the elements of taman when I convert the strings to integers or floats, it raises the error in this line:

size((taman[7]+2*taman[5])*(taman[1]+1),(taman[7]+2*taman[5])*(taman[3]+1))

Did I do something wrong or is this a bug?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions