2014-10-07 39 views
-2

试图创建一个程序,提示用户输入一个着名的人名,并继续询问,直到他们输入“done”并打印出列表中的姓名和数量名。任何人都可以给我一点帮助吗?提示用户输入名称并打印出python列表中的列表

def main(): 
    cList = [] 
    cName = [] 
    while cName != ("done"): 
     cList.append(cName) 
     cName = input("Enter another name: ") 
    print("# of names entered: "), [cList] 
    i = 0 
    while i < len(cList): 
     print myList[i] 
     i += 1 
    return 

main() 
+1

你为什么要开始'cName = []'?你真的想在名单列表的开头追加一个空列表吗?你为什么要打印'[cList]' - 即包含名称列表的一个项目列表?你的第一个“印刷品”上的收尾位置在哪里?那个'i = 0'应该在什么地方缩进?这是Python 2,你几乎肯定会滥用'input',或者Python 3,那第二个'print'是一个SyntaxError?不知道代码的每一行是怎么打算做的,很难帮你修复它们。 – abarnert 2014-10-07 23:50:21

+0

欢迎来到SO,Mateo。询问有关您的计划的更具体的问题以获得更好的帮助。你坚持什么? – alexis 2014-10-07 23:52:04

+0

谢谢@alexis,但基本上我不知道我在做什么。我认为我在做我的任务,我已经做了大量的研究并掌握了基础知识。但我得到的错误,没有什么似乎是正确的。它变得如此令人沮丧 – Mateo 2014-10-08 00:00:27

回答

0

是这样的?

names = [] 
while True: 
    names.append(raw_input('Enter name: ')) 
    if names[-1] == 'done': 
     names.pop() 
     break 
print("# of names %i" % len(names)) 
for name in names: 
    print(name) 
+1

这不会将名称收集到他可以打印出来的列表中,并打印其长度。 – abarnert 2014-10-07 23:54:50

+0

它现在.. .. :) – brunsgaard 2014-10-07 23:58:53