Ein Hotelverkäufer gibt Verkäufe in einer Textdatei ein. Jede Zeile enthält die folgenden, durch Semikolons getrennten Namen: den Namen des Kunden, den verkauften Dienst (wie Abendessen, Konferenz, Unterkunft usw.), den Betrag des Verkaufs und das Datum des Ereignisses. Schreiben Sie ein Programm, das eine solche Datei liest und den Gesamtbetrag für jede Dienstkategorie anzeigt. Zeigen Sie einen Fehler, wenn dieEine Textdatei in Python lesen und Kategorien daraus auswählen? Hotel
Meine Textdatei
enthältBob;Dinner;10.00;January 1, 2015
Tom;Dinner;14.00;January 2, 2015
Anne;Lodging;125.00;January 3, 2015
Jerry;Lodging;125.00;January 4, 2015
so hier ist mein Code so weit
def main():
file_name = input("Input file name: ")
amount_by_category = process_file(file_name)
if amount_by_category:
print 'Totals:'
for key in amount_by_category:
print '{0}: $ {1}'.format(key, amount_by_category.get(key))
def process_file(file_name):
infile = open(file_name, 'r')
# a dictionary mapping category to total amount for that category
amount_by_category = {}
for line in infile:
fields = line.split(';')
if len(fields) != 4:
raise Exception('Expected 4 fields but found %s' % len(fields))
value = float(fields[2])
category = fields[1]
if not category in amount_by_category:
amount_by_category[category] = 0.0
amount_by_category[category] += value
return amount_by_category
main()
ich einen Syntaxfehler bekommen und nicht sicher, warum.
Und die Zurückverfolgungs:
Traceback (most recent call last):
File "C:\Users\Brandon\Desktop\Assignment 7\girrrr.py",
line 24, in <module> main() File "C:\Users\Brandon\Desktop\Assignment 7\girrrr.py",
line 7, in main print ('{0}: $ {1}').format(key, amount_by_category.get(key))
AttributeError: 'NoneType' object has no attribute 'format'
Sie sollten den vollständigen Fehler buchen. Es wird eine Zeilennummer enthalten. –
könnten Sie Traceback mit Ausnahme Ihrer Frage hinzufügen? –
Es ist eine ungültige Syntax auf dem Druck 'Summen:' –