2016-11-11 5 views
-8

Ich bin neu in Python. Ich versuche den folgenden Code auszuführen. Aber jedes Mal, wenn ich versuche, es auszuführen, sagt die IDE, dass die Pause außerhalb der Schleife istBreak außerhalb der Schleife

catname = [] 

print("Enter the name of the cats") 

name = input() 

if name == '': 

    break 

catname = catname+[name] 

print("The cat Names are :") 

for catname in name: 

    print(name) 

Können Sie mir bitte helfen?

Dank

+3

, die da ist 'break' ist nicht in einer Schleife :) –

+1

Sie haben eine Pause nach einer' if' Anweisung und es ist keine Schleife in Sicht bis zum Ende. – Lexi

+1

Aber die Fehlermeldung ist irreführend, muss man zugeben. Da es keine Schleife gibt, kann die break-Anweisung nicht außerhalb von eins liegen. – Ukimiku

Antwort

3

Sie verwenden break, wenn Sie break frei von einer Schleife wollen, um die Schleife zu verlassen, um zum nächsten Code nach der Schleife zu springen.

Ihr Code enthält keine Schleife, so nichts zu befreien, daher der Fehler.

0

Wenn dies der gesamte Code ist, dann sind Sie genau es zu sagen, was das Problem ist:

catname = [] 

print("Enter the name of the cats") 

name = input() 

if name == '': 

    break 

Sie haben eine break-Anweisung in dem Code, der in einer Schleife nicht enthalten ist. Was erwartest du von dem obigen Code?

2

Sie verwenden "break" nur innerhalb der Schleife ("für" oder "while"), werden Sie verwenden Bremse innerhalb der "if"

Wie wäre es damit versuchen:

if name != '': 
    catname = catname+[name] 
    print("The cat Names are :") 
    for catname in name: 
     print(name) 
3

Ich denke, Sie meinten exit() anstelle von break

1

Ihre break-Anweisung ist nicht in einer Schleife, es ist nur in einer if-Anweisung. Aber vielleicht möchten Sie etwas wie das folgende tun. Wenn Sie der Benutzer geben Sie eine beliebige Anzahl von Namen lassen wollen und die Namen ausdrucken, wenn der Benutzer nichts eingegeben haben, können Sie folgendes tun:

# Here we declare the list in which we want to save the names 
catnames = [] 

# start endless loop 
while True: 
    # get the input (choose the line which fits your Python version) 
    # comment out the other or delete it 
    name = input("Enter the name of a cat\n") # input is for Python 3 
    # name = raw_input("Enter the name of a cat\n") # raw_input is for Python 2 

    # break loop if name is a empty string 
    if name == '': 
     break 

    # append name to the list catnames 
    catnames.append(name) 

print("The cat names are :") 

# print the names 
for name in catnames: 
    print(name) 
1

Was Sie suchen, exit() ist.

Allerdings hat der Code auch andere Probleme, hier ist ein Stück Code, das tut, was Sie wollen wahrscheinlich (wenn Sie dazu aufgefordert, geben Sie die durch Leerzeichen getrennte Namen, wie: Cat1 Cat2):

name = raw_input("Enter the name of the cats: ") 

if len(name) == 0: 
    exit() 

print("\nThe cat Names are:") 
for c_name in name.split(): 
    print(c_name) 
Verwandte Themen