일부 입력 문의 결과를 함수의 매개 변수로 사용하려고합니다. 나는이 같은 함수 전에 입력 문을 가하고, 후 나중에 함수를 호출 시도했다 :Python 함수에서 매개 변수로 입력 문 사용하기
s=input("Enter the message:")
raw_key=input("Enter the raw key for columnar transposition:")
method=input("Enter the key generation method:")
def encryptColumnar(s,raw_key,method):
if method==1:
numkey=key1(raw_key)
if method==2:
numkey=key2(raw_key)
return(columnar(s,numkey))
encryptColumnar(s,raw_key,method)
하지만 그것은 단지 나에게 오류 UnboundLocalError: local variable 'numkey' referenced before assignment
을 제공합니다. 함수 앞에 입력 문을두면 입력을 묻는 메시지가 표시되지만 입력이 함수의 매개 변수로 사용된다고 인식하지 못합니다.
도움 주셔서 대단히 감사합니다.
편집 : NEW CODE :
이 현재 내가 함께 일하고 있어요 코드입니다 :
s=input("Enter the message:")
raw_key=input("Enter the raw key for columnar transposition:")
method=input("Enter the key generation method:")
def encryptColumnar(s,raw_key,method):
if method=='1':
numkey=key1(raw_key)
if method=='2':
numkey=key2(raw_key)
return(columnar(s,numkey))
encryptColumnar(s,raw_key,method)
그것은 더 이상 날 UnboundLocalError를 제공하지 않습니다, 그러나 그것은 또한 이후에 아무것도 인쇄되지 않습니다 입력 문 프롬프트에 매개 변수를 제공합니다.
오류의 전체 추적을 게시 할 수 있습니까? – TheSoundDefense
파이썬 3.x에서 이것을 실행한다면,'input'은 파이썬 2 버전처럼 사용자 응답을'eval()'하지 않을 것입니다 - 그것은 문자열로 리턴 할 것입니다. 그러므로 당신의 조건'method == 1' 등은 절대로 만족되지 않을 것이고,'numkey'는 정의되지 않습니다. –
'int (입력 ("메시지 입력 :"))'등. –