Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我附加列表的循环不起作用?_Python_Python 3.x - Fatal编程技术网

Python 为什么我附加列表的循环不起作用?

Python 为什么我附加列表的循环不起作用?,python,python-3.x,Python,Python 3.x,我是一个新手,尝试创建一个花名册系统,在这个系统中,我可以输入我需要的任意多的名字(因此循环),然后按enter键完成列表,然后回车键将为我打印列表。我对该代码的问题是: 1:在我中断while True(第9行)循环后,代码正在打印“未输入员工”。删除try,除非段落给我一个名称错误 2:我的else语句(第29行)在缩进第31行时没有任何作用,迫使我使用pass并删除第31行的缩进。在我添加通行证之前,第31行是30行,所以这不是问题所在 最终目标: 能够打印我在循环中键入的名称,并理解为什

我是一个新手,尝试创建一个花名册系统,在这个系统中,我可以输入我需要的任意多的名字(因此循环),然后按enter键完成列表,然后回车键将为我打印列表。我对该代码的问题是:

1:在我中断while True(第9行)循环后,代码正在打印“未输入员工”。删除try,除非段落给我一个名称错误

2:我的else语句(第29行)在缩进第31行时没有任何作用,迫使我使用pass并删除第31行的缩进。在我添加通行证之前,第31行是30行,所以这不是问题所在

最终目标:

能够打印我在循环中键入的名称,并理解为什么第29行没有执行缩进的内容

我尝试在中断(16)之后添加一个else语句,将append(13)放在那里并删除“del employeelist[-1]”(15)。这不起作用。*我被告知返回员工名单,但我不了解返回的工作原理,尽管尝试了不同的返回方式,但无法解决问题。如果答案是显而易见的,我很抱歉,但我(基于我所犯的错误)很难知道在哪里进行研究

def main():
    start()

def start():
    employeelist = []
    #employeecount = 0
    print("Welcome to Lewis's Rostering System")
    print("")
    while True:
        #employeecount += 1
        print ("Please enter an employee's name, or press enter to finish")
        employeename = input("")
        employeelist.append(employeename)
        if employeename == "":
            del employeelist[-1]
            break

main()
try:
    employeelist
except NameError:
    employeelist = "error"
    print("No employees entered")
    print("")
    input("Press enter to continue")
    print("###############################")
    print("")
    start()
else:
    pass
print(employeelist)
input("end")

定义
employeelist
---


非常感谢你,马哈茂德,这非常有效。你介意解释一下“else:”相对于“if”的缩进,以及“break”相对于“else:”的缩进吗?作为一个初学者,我很难理解为什么break会缩进到else的左边。@Lewis很抱歉,我正在用我的移动应用程序写东西,不能正确缩进。如果缩进没有问题,请将else推回匹配。这是我第一次测试它的方式,它表现良好。我感谢你的帮助。
# define your employeelist outside any function 
employeelist = []

def main():
    start()

def start():

    #employeecount = 0
    print("Welcome to Lewis's Rostering System")
    print("")
    while True:
        #employeecount += 1
        print ("Please enter an employee's name, or press enter to finish")
        employeename = input("")

        if employeename != "":
            employeelist.append(employeename)
        else:
            break

main()

print(employeelist)
input("end")
def main():
    start()

def start():
    global employeelist
    employeelist = []
    #employeecount = 0
    print("Welcome to Lewis's Rostering System")
    print("")
    while True:
        #employeecount += 1
        print ("Please enter an employee's name, or press enter to finish")
        employeename = input("")
        employeelist.append(employeename)
        if employeename == "":
            del employeelist[-1]
            break

main()
try:
    employeelist
except NameError:
    employeelist = "error"
    print("No employees entered")
    print("")
    input("Press enter to continue")
    print("###############################")
    print("")
    start()
else:
    pass
print(employeelist)
input("end")