break报错为什么?
def yourName(Name):
if Name == "sunpu":
print" CCCC A RRRRR TTTTTTT EEEEEE RRRRR "
print" C C A A R R T E R R "
print" C A A R R T EEEE R R "
print" C AAAAAAA RRRRR T E RRRRR "
print" C C A A R R T E R R "
print" CCCC A A R R T EEEEEE R R "
else:
break
name = raw_input("Enter your name: ")
yourName(name)
网上解释
问题:
in the following python code:
narg=len(sys.argv)
print "@length arg= ", narg
if narg == 1:
print "@Usage: input_filename nelements nintervals"
break
I get:
SyntaxError: 'break' outside loop
Why?
回答1:
Because break cannot be used to break out of an if - it can only break out of loops. That's the way Python (and most other languages) are specified to behave.
What are you trying to do? Perhaps you should use sys.exit()
or return
instead?
回答2:
Because the break statement is intended to break out of loops. You don't need to break out of an if statement - it just ends at the end.
回答3:
Because break can only be used inside a loop. It is used to break out of a loop (stop the loop).
回答4:
break
breaks out of a loop, not an if
statement, as others have pointed out. The motivation for this isn't too hard to see; think about code like
for item in some_iterable:
...
if break_condition():
break
The break
would be pretty useless if it finished the if
block rather than breaking the loop. Consider that I cannot think of a case that you'd use break any way but inside an if statement to break the loop the if statement is in.