2017-02-21 4 views
0

Как вернуть эти переменные в основную функцию? (Это не относится к классу, и я не могу использовать Global для него. Кроме того, я должен иметь отпечаток отдельно от основной функции. Получение ошибок, таких как AssessedTotalValue, не назначено, а PropertyTaxTotal не назначено. Он работал для получения переменной Parameter в функции, но почему arn't они выходят из них?Im пытается переключить параметры вокруг в Python без создания глобальных переменных

def PropertyTax(): 
    global PropertyTaxPercent 
    PropertyTaxPercent = .64 
    PropertyValue = int(input("Enter Property Value: ")) 
    AssessedValue(PropertyValue) 
    PropertyTaxValue(AssessedTotalValue) 
    print ("The Property Assessed Value is: ", AssessedTotalValue) 
    print ("The Property Tax is: ", PropertyTaxTotal) 

def AssessedValue(PropertyValue): 
    global AssessedPercentValue 
    AssessedPercentValue = 0.60 
    AssessedTotalValue = PropertyValue * AssessedPercentValue 

def PropertyTaxValue(AssessedTotalValue): 
    PropertyTaxValue = AssessedTotalValue/100 
    PropertyTaxTotal = PropertyTaxValue * PropertyTaxPercent 
PropertyTax() 
+0

You» вы узнали о аргументах. Теперь найдите «возвращаемые значения». – user2357112

ответ

0

Вам не нужно определять переменные как глобальные. вы можете использовать возвращаемое значение в ваших функциях, которые сделают ваши функции возвращать значения, где вы назвали функция от.

например.

def add(a,b): 
    total = a + b 
    return total 

сумма = добавить (1,6) печать (сумма)

Would выход 7.


Учитывая это, вы можете изменить свою программу следующее:

def PropertyTax(): 

    PropertyTaxPercent = .64 
    PropertyValue = int(input("Enter Property Value: ")) 
    AssessedTotalValue = AssessedValue(PropertyValue) 
    PropertyTaxTotal = PropertyTaxValue(AssessedTotalValue,PropertyTaxPercent) 
    print ("The Property Assessed Value is: ", AssessedTotalValue) 
    print ("The Property Tax is: ", PropertyTaxTotal) 

def AssessedValue(PropertyValue): 
    AssessedPercentValue = 0.60 
    AssessedTotalValue = PropertyValue * AssessedPercentValue 
    return AssessedTotalValue 

def PropertyTaxValue(AssessedTotalValue,PropertyTaxPercent): 
    PropertyTaxValue = AssessedTotalValue/100 
    PropertyTaxTotal = PropertyTaxValue * PropertyTaxPercent 
    return PropertyTaxTotal 

PropertyTax()