Python 跳出圈子

Python 跳出圈子,python,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) 你能帮帮我吗 谢谢如果这是您

我是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)
你能帮帮我吗


谢谢

如果这是您的全部代码,那么它会准确地告诉您问题所在:

catname = []

print("Enter the name of the cats")

name = input()

if name == '':

   break

代码中有一个break语句,它不包含在循环中。你希望上面的代码做什么?

当你想
中断
从循环中解脱出来,退出循环,跳转到循环后最近的代码时,你可以使用
中断

您的代码不包含循环,因此没有可中断的内容,因此会出现错误。

如果在循环中使用“break”(“for”或“while”),则尝试在“if”中使用brake

这个怎么样:

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

我想你的意思是
exit()
而不是
break
你的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)

您要查找的是
exit()

但是,您的代码还存在其他问题,下面是一段代码,它可以实现您可能需要的功能(出现提示时,请输入以空格分隔的名称,如:Cat1 Cat2):


这是因为
break
不在循环中:)在
if
语句之后有一个中断,直到最后才看到循环。但必须承认,错误消息是误导性的。由于没有循环,break语句不能在循环之外。
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)