2009-02-26 7 views
0

Ich versuche, ein paar einfache Variablen als Teil einer Funktion in einem sehr grundlegenden Kollisionserkennungsprogramm zu deklarieren. Aus irgendeinem Grund lehnt es meine Variablen ab (obwohl nur einige von ihnen, obwohl sie fast identisch sind). Hier ist der Code für die Funktion;Python-Variablen akzeptieren keine Namen

def TimeCheck(): 
    timechecknumber = int(time.time()) 
    timecheckdiv = backcolourcheck % 5 
    if timecheckdiv < 1: 
     timecheck = true 
    else: 
     timecheck = false 
    if timecheck == true: 
     backgroundr = (int(random.random()*255)+1 
     backgroundg = (int(random.random()*255)+1 
     backgroundb = (int(random.random()*255)+1 

aus irgendeinem Grund akzeptiert es backgroundr aber nicht backgroundg, hat jemand irgendwelche Ideen warum? Danke

+1

Was bedeutet "akzeptiert"? Haben Sie eine spezifische Fehlermeldung oder ein anderes Problem? Oder haben Sie Probleme beim Ausbalancieren Ihrer()? –

+0

Ich meinte, dass es nur Hintergrund rot hervorgehoben und Syntaxfehler angezeigt wurde. es war nur ein Klammerthema :) – user33061

Antwort

8

Sie haben nicht übereinstimmende Klammern in der Zeile beginnend mit backgroundr. Ich denke, vielleicht wollen Sie diese:

backgroundr = int(random.random() * 255) + 1 

Beachten Sie, dass jede der beiden folgenden Zeilen haben auch nicht übereinstimmen Klammern, so dass Sie diese beheben werde müssen, auch.

+0

Aha, Klammernproblem, danke: D – user33061

+0

Sie müssen mit 255 multiplizieren, bevor Sie zu int. – recursive

+0

Wenn Sie möchten, dass der Code etwas Nützliches tut (was Sie wahrscheinlich tun), möchten Sie höchstwahrscheinlich die Klammern in der Reihenfolge unten (ich habe die Antwort bearbeitet, um dies zu reflektieren). – mipadi

2

Mipadis Antwort liefert immer eine 1. Sie müssen mit 255 multiplizieren, bevor Sie in int umwandeln. Versuche dies.

backgroundr = int(random.random() * 255) + 1 
+0

Sie gehen natürlich davon aus, dass dies das ist, was sie wollen. Da die() 's falsch waren, wollten sie vielleicht wirklich immer eine Antwort von 1 ;-) –