所以我们有一个练习,我们给孩子们,我们需要使用一个列表(或数组),以及'.remove()'方法和循环。
我有以下代码,但代码无效。
set
usernames = [
'Steph','JHG','Greg','Matt','Rodney','David',
'Chris','Sally','Gemma','Pam','Daniel','JHG',
'JHG','Ishmael','Sam', 'JHG','Jacob'
]
for i in range(0,3):
for name in usernames:
usernames.remove('JHG')
print(usernames)
答案 0 :(得分:1)
或作为while
循环:
while 'JHG' in usernames:
usernames.remove('JHG')
答案 1 :(得分:0)
for name in usernames:
if name == 'JHG':
usernames.remove(name)
答案 2 :(得分:0)
问题是你正在使用循环来删除'JHG'的所有实例。因为for循环循环了很多次(外循环的次数是3次,而内循环的列表中的名称也是如此),所以你基本上会删除'JHG'一次。它在前三次工作正常,删除所有'JHG',但第四次失败,因为没有'JHG剩下要删除!
如果您希望学生使用循环,也许您可以检查用户名中的名称是否等于'JHG',然后将其删除。
for name in usernames:
if name == 'JHG':
usernames.remove(name)
答案 3 :(得分:0)
简单快捷:
usernames = [name for name in usernames if x != 'JHG']