2013-01-04 70 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

相關問題