打破循环

时间:2016-11-11 19:07:01

标签: python

我是Python新手。我试图运行以下代码。但每次我尝试运行它时,IDE都会说中断在循环之外

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)

你能帮帮我吗?

谢谢

6 个答案:

答案 0 :(得分:3)

如果希望break摆脱循环,退出循环,在循环后跳转到最近的代码,则使用break

你的代码不包含循环,所以没有什么可以摆脱,因此错误。

答案 1 :(得分:3)

我认为您的意思是exit()而不是break

答案 2 :(得分:2)

你使用" break"就在循环内部("对于"或者"而"),你正试图在"中使用制动器,如果"

这个怎么样:

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

答案 3 :(得分:1)

你的break语句不在循环中,它只是在if语句中。 但也许你想做类似以下的事情。 如果您想让用户输入随机数量的名称并打印出名称,当用户输入任何内容时,您可以执行以下操作:

# 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)

答案 4 :(得分:1)

您要找的是exit()

但是,您的代码还有其他问题,这里有一段代码可以执行您可能需要的操作(在提示时,输入以空格分隔的名称,如: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)

答案 5 :(得分:0)

如果这是您的全部代码,那么它会告诉您具体问题:

Error in IMsgServiceAdmin::CreateMsgService: MAPI_E_NOT_FOUND

您在代码中有一个不包含在循环中的break语句。您对上述代码的期望是什么?