2013-01-04 45 views
0

我是一名GCSE计算专业的学生,​​对Python相对来说比较陌生。我正在做我的第三个编程任务,涉及制作一个简单的hang子手游戏。我设法让游戏工作,但成功标准的一部分是用户可以更改单词集。当时程序正在使用预设单词列表。我设法编写了代码,允许用户输入新的单词集,然后将这些单词存储为列表。然而,当我尝试用用户输入的新列表替换旧的单词时,我遇到了问题。 我感到难以置信,因为我还在度假,所以一直无法向我的老师请教。任何帮助或建议将不胜感激,因为我的时间不够(我们正在2013年6月参加GCSE) 谢谢。 输入代码here`如何用python中的列表替换一组单词?

def newwords(): 
     newgamewords.append(input('Enter new word: ')) 
     print('Do you want to add any more words? yes or no?') 
     answer=input() 
     if answer == 'yes': 
      newwords() 
     else: 
      while len(guessedletters) > 0 : guessedletters.pop() 
      while len(displayletters) > 0 : displayletters.pop() 
      while len(hangmanpics) > 0 : hangmanpics.pop() 
      gamewords[:]=newgamewords 
      hangmangame() 

下面是一些代码...

+4

你可能会需要展现你现有的代码,让人们了解你想要做什么和什么不工作。 – Amber

回答

2

可以使用切片分配替换列表中的元素(的地方):

word_list = [ 'foo','bar','baz' ] 
new_list = [ 'qux','tux','lux', 'holy cow! python is awesome' ] 

word_list[:] = new_list 
print(word_list) #[ 'qux','tux','lux', 'holy cow! python is awesome' ] 

new_listold_list甚至不需要是相同的长度。


您也可以与其他列表的一部分替换清单中的一部分,如果你想:

word_list = [ 'foo','bar','baz' ] 
new_list = [ 'qux','tux','lux', 'holy cow! python is awesome' ] 

word_list[1:-2] = new_list[:-1] 
print word_list #['foo', 'qux', 'tux', 'lux', 'bar', 'baz'] 
+0

def newwords(): newgamewords.append(input('Enter new word:')) print('您想添加更多单词吗?是或否?') answer = input() if answer = = '是': newwords() 否则: 而LEN(guessedletters)> 0:guessedletters.pop() 而LEN(displayletters)> 0:displayletters.pop() 而LEN(HANGMANPICS)> 0:HANGMANPICS .pop() gamewords [:] = newgamewords hangmangame() –

+0

@ user1949690 - 在评论中读取python代码几乎是不可能的。在问题中有一些代码总是很好的,你可以通过点击编辑并在那里添加代码来编辑你的原始文章。 – mgilson

相关问题