2016-04-15 14 views
0

Okay, ich versuche das herauszufinden und mit nichts zu kommen. Ich bin mir ziemlich sicher, dass ich gerade einen "Duh" -Moment habe und sobald jemand anderes mein Problem sieht, werde ich mich dumm fühlen, aber ich werde trotzdem fragen! Ich habe den Fehler, den ich vorher bekommen habe, nicht bekommen, daher bin ich mir nicht einmal sicher, wie ich das beheben soll. Jede Hilfe wäre willkommen! : DTypeError: schlechter Operandentyp für unary +: 'str' Zeile 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

Sie nie ein '\' innerhalb von Klammern müssen ' (...) ', Klammern' [...] 'oder Klammern' {}}. In der Tat habe ich gesehen, dass es empfohlen wurde, dass Sie niemals '' 'verwenden und stattdessen Klammern um einen Ausdruck verwenden. – millimoose

+0

@AmberHolcombe Könnten Sie bitte überprüfen, ob meine Antwort Ihr Problem löst, wenn Sie bitte meine Antwort validieren könnten? – lmiguelvargasf

+0

@AmberHolcombe Haben Sie Ihr Problem gelöst? – lmiguelvargasf

Antwort

0

Ich kann nicht scheinen, den Fehler, den Sie bekommen, aber von Ihnen Code replizieren kann ich sehen, dass Sie der Benutzer möchten für jeden Tag eingeben Umsatz und die Gesamt erhalten. Hier ist eine einfache Art und Weise, wie ich es tun würde

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

Ihr Problem ist:

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

Insbesondere die Teile hier links:

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

diese Linie Fortsetzung \ am Ende (Unnötig angesichts der Parens, aber das Entfernen würde nicht helfen) bedeutet, dass Sie +format(total_sales, ',.2f') tun. format gibt str zurück, und str implementiert nicht unäre + (weil unäre + für mathematische Ausdrücke ist).

Die Lösung ist einfach, um loszuwerden, der +:

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

Sie könnten auch ein bisschen mit dem str.format Verfahren vereinfachen:

print('Total sales for the week: ${:,.2f}'.format(total_sales)) 
Verwandte Themen