2015-11-04 60 views
1

我无法通过用户输入展开我的扩展列表。我想我错过了如何使用if语句来查询特定项目的列表。当用户输入-999时,我需要打开列表来询问输入。我还需要从列表中排除-999。你可以帮我吗?突破列表中的用户输入

print(scoreLst)就是这样可以测试,看看它是如何工作,因为我使用它。

scoreLst =[] 
score =() 
lst1 = True 

print("The list ends when user inputs -999") 
scoreLst.append(input("Enter the test score: ")) 
while lst1 == True: 
    score1 = scoreLst.append(input("Enter another test score: ")) 
    print(scoreLst)  
    if score1 != -999: 
     lst1 == True 
    else: 
     scoreLst.remove(-999) 
     lst1 == False 
+0

追加验证之前没有进入榜单 – vks

回答

2

的几个注意事项:

  • 转换测试成绩int

  • list.append回报None,不要把它分配给什么;使用scoreLst[-1]代替score1

  • 不使用list.remove删除列表的最后一个元素,list.pop()会很好的工作

  • lst1 == False是比较lst1 = False是分配

  • 你创建无限循环和break一旦用户输入-999,我看不到需要lst1

最终结果:

scoreLst = [] 

print("The list ends when user inputs -999") 
scoreLst.append(int(input("Enter the test score: "))) 

while True: 
    scoreLst.append(int(input("Enter another test score: "))) 
    if scoreLst[-1] == -999: 
     scoreLst.pop() 
     break 
+0

后,这个伟大工程,更简单。出于好奇,我必须在下面分配list.pop生活吗? ( - ) break –

+0

@AndrewBodin'list.pop()'删除列表的最后一个元素,最后一个元素是-999(我们特别在'scoreLst [-1] == -999 '),所以不,你不必做任何事情。 – vaultah

+0

顺便说一句,如果你觉得我的回答对你有帮助,你可以[接受我的回答](http://meta.stackexchange.com/a/5235)。 – vaultah