В моем коде python обнаружена недопустимая синтаксическая ошибка - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь собрать калькулятор, но он показал ошибку, и я много искал. Я не понял, что происходит в моем коде. основная проблема заключается в def create_graph (данные, заем): SyntaxError: неверный синтаксис.

from matplotlib import pyplot as plt
    def get_loan_info():
        """get basic info  stor in dictionary"""
        loan={}
        loan['principal']=float(input("\Enter loan amount: "))
        loan['rate']=float(input("enter interest rate: "))/100
        loan['monthly payment']=float(input("Enter monthly payment: "))
        loan['money paid']=0
        return loan
    
    def show_loan_info(loan,number):
        """display the current status"""
        print("\n .....--loan information... "+ str( number)+'months---')
        for key,value in loan.items():
            print(key.title()+ " : "+ str(value))
    
    
    def collect_interest(loan):
        """update for interest per monthly"""
        loan['principal']=loan['principal']+loan['principal']*loan['rate']/12
        
    
    def make_montly_payment(loan):
        """simulate  montly payment """
        loan['principal']=loan['principal']-loan['monthly payment']
        if loan['principal']>0:
            loan['money paid']+=loan['monthly payment']
        else:
            loan['money paid']+=loan['monthly payment']+loan['principal']
            loan['principal']=0
    
    def summerize_load(loan,number,initial_principal):
        """dispay the results"""
        print('\n Congratulation! You have paid off yur loan in'+str(number)+" months")
        print("you initial loan was $"+str(initial_principal)+"at a rate of  "+str(100*loan['rate']))
        print('your montly payment was $'+str(loan['monthly payment']+".")
        
    
    
    def create_graph(data,loan):
        """create graph to principal and month"""
        x_values=[] #month
        y_values=[] #pric
        for point in data:
            x_values.append(point[0])    #o mont ,.1 principal
            y_values.append(point[1])
        plt.plot(x_values,y_values)
        plt.title(str(100*loan['rate'])+"%interest with $"+str(loan['monthly payment'])+'monthly 
 payment')
        plt.xlabel('month number')
        plt.ylabel('principal of loan')
        plt.show()
    
    
    
    #main app
    
    print('welcome to the loan calculator app')
    #intitalize 
    month_number=0
    my_loan=get_loan_info()
    starting_principal=my_loan['principal']
    data_to_plot=[]
    show_loan_info(my_loan)
    input('press enter to pay off your loan. ')
    
    

Я, если есть, выясню, почему он показал синтаксическую ошибку. Думаю, это правильно во всех отношениях.

1 Ответ

0 голосов
/ 05 мая 2020

Проблема на самом деле в строке предыдущей - вам не хватает закрывающих скобок.

print('your montly payment was $'+str(loan['monthly payment']+".")
...