2009-02-26 5 views
0

아주 기본적인 충돌 감지 프로그램에서 함수의 일부로 몇 가지 간단한 변수를 선언하려고합니다. 웬일인지 그것이 나의 변수를 거부하고있다 (거의 동일하지만 그들 중 일부만이긴하지만). 함수의 코드는 다음과 같습니다.python 변수가 이름을 허용하지 않습니다.

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 

어떤 이유에서든 backgroundr을 허용하지만 backgroundg을 허용하지 않는 이유는 무엇입니까? 감사합니다

+1

"수용"이란 무엇을 의미합니까? 특정 오류 메시지 또는 다른 문제가 있습니까? 아니면 당신의 균형을 맞추는데 문제가 있습니까? –

+0

나는 backgroundg을 빨간색으로 강조하고 구문 오류라고 말한 것입니다. 그것은 단지 괄호 문제였습니다 :) – user33061

답변

8

backgroundr으로 시작하는 줄에 일치하지 않는 괄호가 있습니다. 당신도 그 문제를 해결해야하므로 다음 두 줄의 각도, 일치하지 않는 괄호를 가지고

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

참고 : 나는 당신이 원하는 어쩌면 생각합니다.

+0

aha, 괄호 문제, 감사 : D – user33061

+0

int로 전송하기 전에 255로 곱해야합니다. – recursive

+0

아래에서 언급했듯이 코드가 유용한 작업을 수행하기를 원한다면 실제로 아래 괄호가 필요합니다 (이를 반영하기 위해 답변을 편집했습니다). – mipadi

2

mipadi의 대답은 항상 1을 생성합니다. int로 캐스트하기 전에 255를 곱해야합니다. 이 시도.

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

물론 이것이 그들이 원하는 것이라고 가정하고 있습니다.()가 잘못되었으므로 아마도 매번 1의 답을 원했을 것입니다. –