Mehrere Anweisungen beim Kompilieren einer einzelnen Anweisung gefunden [duplizieren]

Diese Frage hat hier bereits eine Antwort:

SyntaxError: Beim Kompilieren einer einzelnen Anweisung wurden mehrere Anweisungen gefunden 1 Antwort

Ich bin brandneu in der Programmierung. Ich verwende das Buch "Dive in Python" und versuche, das erste Beispiel "humansize.py" auszuführen. Ich habe den Code in Idle, die Python-Shell, kopiert und eingefügt und finde immer wieder den gleichen Syntaxfehler: "Beim Kompilieren einer einzelnen Anweisung wurden mehrere Anweisungen gefunden."

Ich lade den Code in BBEdit herunter und kopiere ihn dann und füge ihn in Idle ein. Ich habe online nachgesehen und die Leute sagten, es könnte sich um ein Tab-versus-Space-Problem handeln. Aber ich habe den Code durchgesehen und er sieht identisch mit dem Buch aus. Ich habe sogar 4 Leerzeichen in allen Codezeilen gelöscht und wieder eingefügt und erhalte immer noch den Fehler.

Es ist frustrierend, weil ich sicher bin, dass es ein einfaches Problem ist, aber ich habe alles getan, was ich weiß (im Hinblick auf den Versuch, das Problem zu untersuchen), um es zum Laufen zu bringen. Wenn es sich um ein Problem zwischen Leerzeichen und Tabulatoren handelt, weiß jemand von Ihnen, wohin ich gehen kann, um zu erfahren, wie der Vorgang des Kopierens und der korrekten Eingabe von Code in Idle durchgeführt wird? Ich bin ein wahrer Anfänger.

Ich würde mich über jede Unterstützung durch die Community freuen. Vielen Dank!

Ich verwende einen Mac OSX - V.10.7.5. Ich verwende die neueste Version des Dive in Python-Buches und Python 3.3.

Der Code ist unten:

>>> '''Convert file sizes to human-readable form.

    Available functions:
    approximate_size(size, a_kilobyte_is_1024_bytes)
    takes a file size and returns a human-readable string

Examples:
>>> approximate_size(1024)
    '1.0 KiB'
>>> approximate_size(1000, False)
    '1.0 KB'

    '''

    SUFFIXES = {1000: ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
            1024: ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']}

    def approximate_size(size, a_kilobyte_is_1024_bytes=True):
    '''Convert a file size to human-readable form.

    Keyword arguments:
    size -- file size in bytes
    a_kilobyte_is_1024_bytes -- if True (default), use multiples of 1024
                                if False, use multiples of 1000

    Returns: string

    '''
    if size < 0:
        raise ValueError('number must be non-negative')

    multiple = 1024 if a_kilobyte_is_1024_bytes else 1000
    for suffix in SUFFIXES[multiple]:
        size /= multiple
        if size < multiple:
            return '{0:.1f} {1}'.format(size, suffix)

    raise ValueError('number too large')

    if __name__ == '__main__':
    print(approximate_size(1000000000000, False))
    print(approximate_size(1000000000000))

**SyntaxError: multiple statements found while compiling a single statement**
>>> 

Antworten auf die Frage(1)

Ihre Antwort auf die Frage