2016-10-03 6 views
0

이 할당으로 모듈 식 프로그래밍을 연습하려고합니다. 내 주요 함수에 변수를 호출하는 방법을 알았지 만 evenOdd()의 if 문에 대해서는 값을 호출하는 방법을 모르겠습니다. 'randNum'오류가 발생했습니다. 정의되지 않았습니다.Python : 함수에서 if 문으로 변수를 호출하십시오.

from random import randint 
def genNumber(): 
    randNum = randint(0,20000) 
    print("My number is " + str(randNum)) 
    return (randNum) 

def inputNum(): 
    userNum = input("Please enter a number: ") 
    print("Your number is " + str(userNum)) 
    return (userNum) 

def evenOdd(): 
    if randNum%2==0: 
     print("My number is even") 
    else: 
     print("My number is odd") 
    if userNum%2==0: 
     print("Your number is even") 
    else: 
     print("Your number is odd") 

def main(): 
    randNum = genNumber() 
    userNum = inputNum() 
    evenOdd() 
    input("Press ENTER to exit") 


main() 
+0

'randNum'가'evenOdd()'의 범위를 벗어났습니다 – MooingRawr

+0

@MooingRawr 범위에서 만들기 위해 이것을 어떻게 편집합니까? 나는 main()에서 어떻게했는지와 비슷할 것이라고 가정하고 있지만 구현 방법에 대해서는 확신 할 수 없다. –

+0

@TannerBritt 값을 사용하는 함수에 값을 전달할 수 있습니다. –

답변

2

당신은 전역 범위에 randNum을 정의하거나이 evenOdd (randNum)처럼, 당신의 evenOdd() 함수에 변수로 전달 할 수 있습니다.

+0

고마워요! 나는 원래 이것을 시도했으나 userNum을 int로 변환하지 않았기 때문에 오류가 발생했습니다. 나는 어리석게도 그것이 해결책에 대한 나의 시도로 인한 것이라고 생각한 오류를 무시했다. –

+0

형 변환은 특히 형식이 지정되지 않은 언어로 항상 나타납니다. 전환을 놓치기가 훨씬 쉽습니다. – Tommy

관련 문제