感谢所有的建议这真的有帮助,我做了适当的调整。现在只有最后一个问题,当我输入出现在数组中的单词时,它们实际上作为单独的字母出现在数组中。例如,如果数组中输入的单词 football ,则显示为“ f ” o '' o '' t '' b '' a '' l '' l ”。因此,当选择一个字母而不是随机选择的单词时,
我的代码片段来自刽子手游戏
import random
SIX_NATIONS = ["WALES", "SCOTLAND", "ENGLAND", "FRANCE", "ITALY", "IRELAND"]
New_Topic = []
New_Topic_Choice = raw_input("Would you like to create your own topic? yes/no")
if New_Topic_Choice == "yes":
Topic_Name = raw_input("What would you like the topic name to be: ")
Topic_Words = raw_input("Enter all the words that you would like to appear in the array: ")
str.split(Topic_Words)
New_Topic.extend(Topic_Words)
Word = random.choice(New_Topic)
else:
Word = random.choice(SIX_NATIONS)
提前感谢您的回复。
P.S这个版本的Python是2.7
答案 0 :(得分:1)
我相信您要查找的函数是list.extend()
而不是list.append()
扩展,而不是追加将另一个列表的元素添加到列表中,而不是将列表本身附加到原始列表
作为其他答案状态之一,为了拆分从raw_input()
获得的字符串,您必须使用split()
函数,该函数将字符串作为用作分隔符的参数(
Python文档:
答案 1 :(得分:0)
您的变量New_Topic_Words
是原始输入,通常是python中的字符串。将此字符串添加到列表New_Topic
时的结果是只包含一个元素的列表,即原始字符串。
如果要添加原始字符串的每个单词,则需要拆分原始字符串:split_words = New_Topic_Words.split(' ')
,然后使用New_Topic.extend(split_words)
将每个单词添加为列表元素。
您使用的append
只添加了一个元素,因此添加了一个列表作为最后一个元素。你需要的是extend
,它连接两个列表。