我是一名GCSE计算系的学生,对python来说比较新。我正在完成第三个编程任务,包括制作一个简单的刽子手游戏。我设法使游戏工作,但成功标准的一部分是用户可以更改单词集。在程序中,程序正在使用预设单词列表。我已设法编写代码,允许用户输入新的单词集,然后将这些单词存储为列表。但是,当我尝试用用户输入的新列表替换旧的单词集时,我遇到了问题。 我非常困难,因为我还在度假,一直无法向老师寻求帮助。任何帮助或建议都会非常感激,因为我已经没时间了(我们将在2013年6月参加GCSE) 谢谢。 在这里输入代码
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()
以下是一些代码......
答案 0 :(得分: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_list
和old_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']