Python 为什么我附加列表的循环不起作用?
我是一个新手,尝试创建一个花名册系统,在这个系统中,我可以输入我需要的任意多的名字(因此循环),然后按enter键完成列表,然后回车键将为我打印列表。我对该代码的问题是: 1:在我中断while True(第9行)循环后,代码正在打印“未输入员工”。删除try,除非段落给我一个名称错误 2:我的else语句(第29行)在缩进第31行时没有任何作用,迫使我使用pass并删除第31行的缩进。在我添加通行证之前,第31行是30行,所以这不是问题所在 最终目标: 能够打印我在循环中键入的名称,并理解为什么第29行没有执行缩进的内容 我尝试在中断(16)之后添加一个else语句,将append(13)放在那里并删除“del employeelist[-1]”(15)。这不起作用。*我被告知返回员工名单,但我不了解返回的工作原理,尽管尝试了不同的返回方式,但无法解决问题。如果答案是显而易见的,我很抱歉,但我(基于我所犯的错误)很难知道在哪里进行研究Python 为什么我附加列表的循环不起作用?,python,python-3.x,Python,Python 3.x,我是一个新手,尝试创建一个花名册系统,在这个系统中,我可以输入我需要的任意多的名字(因此循环),然后按enter键完成列表,然后回车键将为我打印列表。我对该代码的问题是: 1:在我中断while True(第9行)循环后,代码正在打印“未输入员工”。删除try,除非段落给我一个名称错误 2:我的else语句(第29行)在缩进第31行时没有任何作用,迫使我使用pass并删除第31行的缩进。在我添加通行证之前,第31行是30行,所以这不是问题所在 最终目标: 能够打印我在循环中键入的名称,并理解为什
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")