IF 조건 파이썬 "할당 전에 참조 된 지역 변수 'monthlyPayment'"

user7067835

다음 예에서는 오류가 발생합니다.

“local variable 'monthlyPayment' referenced before assignment”

다음은 내 코드입니다.

def getMonthlyPayment(self, annualInterestRate, loanAmount, numberOfYears, loan):

    if loan == 0 and (annualInterestRate * 1 - loanAmount) >= 2 and numberOfYears <= 3:
        monthlyPayment = min((annualInterestRate * 1 - loanAmount), 10)
        return monthlyPayment
    elif loan == 1 and (annualInterestRate * 2 - loanAmount) >= 2 and numberOfYears <= 3:
        monthlyPayment = min((annualInterestRate * 2 - loanAmount), 20)
        return monthlyPayment
    elif loan > 1 and (annualInterestRate * 4 - loanAmount) >= 2 and numberOfYears <= 3:
        monthlyPayment = min((annualInterestRate * 4 - loanAmount), 20)
        return monthlyPayment
    else:
        monthlyPayment = 'Not Qualify'
        return monthlyPayment
웜뱃 PM

여러 else if 문에 대한 적절한 구조는 다음과 같습니다.

if (condition):
  monthlypayment = something
elif (condition2):
  monthlypayment = something2
elif (condition3):
  monthlypayment = something3
else:
  monthlypayment = something4

따라서 if 문이 올바르게 형식화되면 월별 지불에 한 번만 값이 할당됩니다. 위의 @anonymous의 주석에 따라 다음으로 함수를 종료 할 수 있습니다.return monthlypayment

이 함수가 self 또는 @staticmethod 데코레이터가 필요한 클래스 정의의 일부라고 가정합니다. 객체 지향이 아닌 코드를 작성하는 경우 자아를 없앨 수 있습니다.

def getMonthlyPayment(self,annualInterestRate,loanAmount,numberOfYears,loan):
    if  loan == 0 and (annualInterestRate * 1 - loanAmount) >= 2 and numberOfYears <= 3:
       monthlyPayment = min((annualInterestRate * 1 - loanAmount), 10)
    elif   loan == 1 and (annualInterestRate * 2 - loanAmount) >= 2 and numberOfYears <= 3:
       monthlyPayment = min((annualInterestRate * 2 - loanAmount), 20)
    elif   loan > 1 and (annualInterestRate * 4 - loanAmount) >= 2 and numberOfYears <= 3:
       monthlyPayment = min((annualInterestRate * 4 - loanAmount), 20)
    else:
       monthlyPayment='Not Qualify'
    return monthlyPayment

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬의 조건문

분류에서Dev

파이썬의 Else 조건

분류에서Dev

파이썬 조건부 조합

분류에서Dev

조건 Dataframe에 파이썬 목록

분류에서Dev

조건으로 파이썬 어설 션

분류에서Dev

파이썬 조건부 교체

분류에서Dev

파이썬의 조건부 groupby

분류에서Dev

조건 파이썬으로 그룹화

분류에서Dev

파이썬 3.4.2의 전제 조건

분류에서Dev

파이썬 xpath와 조건문

분류에서Dev

파이썬의 조건으로 설정

분류에서Dev

파이썬 조건부 구문 오류

분류에서Dev

두 열에 조건부 파이썬 값

분류에서Dev

조건부 무한 파이썬 루프

분류에서Dev

파이썬 구조?

분류에서Dev

파이썬 구조?

분류에서Dev

파이썬 조합

분류에서Dev

파이썬. 'ONE == True'이면 TWO 조건이 확인됩니까?

분류에서Dev

조건이 단순화되면 파이썬

분류에서Dev

파이썬 데이터 프레임에 여러 조건 적용

분류에서Dev

조건이있는 groupby 및 파이썬 분류

분류에서Dev

조건 파이썬이 무시된다면?

분류에서Dev

파이썬 조건이 잘못된 결과를 만듭니다.

분류에서Dev

시간이 지난 후 파이썬 if 조건

분류에서Dev

조건이있는 파이썬 중단주기

분류에서Dev

for while 루프 다중 조건 및 타이머 파이썬

분류에서Dev

파이썬 목록 이해-2+ 시리즈 조건부

분류에서Dev

행 파이썬 팬더 조건부 계산 행

분류에서Dev

함수의 조건부 반환을위한 파이썬 방법