2016-04-15 57 views
0

好吧,我試圖弄清楚這一點,沒有任何東西。我很確定我只是有一個「嘟嘟嘟嘟」的時刻,只要有人看到我的問題,我會覺得愚蠢,但我會問無論如何!我沒有得到我以前得到的錯誤,所以我甚至不知道如何解決它。任何幫助,將不勝感激! :dTypeError:一元運算符類型錯誤+:'str'第15行?

def main(): 
    # Variables 
    total_sales = 0.0 

    # Initialize lists 
    daily_sales = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
    days_of_week = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', + \ 
        'Thursday', 'Friday','Saturday'] 

    for index in range(7): 
     daily_sales[index] = float(input('Enter the sales for ' + \ 
            days_of_week[index] + ': ')) 

    for number in daily_sales: 
     total_sales += number 

    # Display total sales 
    print ('Total sales for the week: $', + \ 
     format(total_sales, ',.2f'), sep='') 

# Call the main function. 
main() 
+0

你永遠需要一個'\'括號內' (...)',括號'[...]'或大括號{...}。事實上,我已經看到它建議你不要使用'\',而是在表達式中使用括號。 – millimoose

+0

@AmberHolcombe您能否請我檢查我的答案是否能解決您的問題,如果您能請您驗證我的答案嗎? – lmiguelvargasf

+0

@AmberHolcombe你解決了你的問題嗎? – lmiguelvargasf

回答

0

我似乎無法複製你越來越但是從你的代碼,我可以看到你希望用戶輸入銷售的每一天,並獲得總誤差。這裏是我會怎麼做

def main(): 
    days_of_week = [ 
     'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 
     'Saturday' 
    ] 

    # use a list comprehension to generate a list of entered values 
    total = [float(input('Enter the sales for %s: ' % a)) 
      for a in days_of_week] 

    # use sum function to calculate the total in the list 
    print "Total sales for the week: $%s" % sum(total) 

main() 
0

你的問題的簡單方法是:

print ('Total sales for the week: $', + \ 
    format(total_sales, ',.2f'), sep='') 

具體來說,部分離開這裏:

         + \ 
    format(total_sales, ',.2f') 

這行繼續\末(不必考慮parens,但刪除它不會幫助)意味着你在做+format(total_sales, ',.2f')format返回str,而str沒有實現一元+(因爲一元+用於數學表達式)。

解決辦法是剛剛擺脫了+的:

print ('Total sales for the week: $', 
     format(total_sales, ',.2f'), sep='') 

你也可以使用str.format方法簡化了一下:

print('Total sales for the week: ${:,.2f}'.format(total_sales)) 
相關問題