您好我刚刚开始学习Python,我正在使用“学习python的方法”这本书,其中一个练习就是构建一个简单的游戏。我想从列表中为用户提供选项。
例如,我会列出一个名为动物的名单,其中包括3只动物,狮子虎和鱼。可以从列表中提供所选元素。我很确定它是,但我只是不知道如何。
我在想这样的事情(显然是错的,但我认为理解我的意思是有帮助的)
animals = ['Lion', 'Tiger', 'Fish']
print "which of these animals is your favourite?"
favourite = raw_input(animals[0] or animals[2])
if favourite = "Lion':
print "Nice choice"
else:
print "Bad choice"
我再说不出足够的压力我知道上面的内容确实很糟糕,但基本上我想提供一个列表的某些项目作为raw_input的选项。在上面的例子中,0项和2项。
提前感谢您的帮助。
答案 0 :(得分:3)
favourite = raw_input(' or '.join(animals))
这将获取列表animals
中的所有字符串,并将它们与or
一起加入,因此您最终会得到
Lion or Tiger or Fish
如果要在末尾添加问号和空格,可以执行
favourite = raw_input(' or '.join(animals) + '? ')
此外,在行
if favourite = "Lion':
您的报价不匹配 - 请确保使用双引号或单引号,而不是每个引号之一。您还需要使用==
来比较两件事; =
用于分配值,而不是比较。
我可能会这样做
animal_string = ' or '.join(animals)
favourite = raw_input("Which of these animals is your favourite:\n{}? ".format(animal_string))
首先制作动物字符串,然后将选项格式化为新行上的问题(因为\n
),并将?
放在后面。
答案 1 :(得分:1)
这个怎么样?
favourite = raw_input("which of these animals is your favourite? "+",".join([str(a)+":"+b for a,b in enumerate(animals)])+">")
fav = animals[int(favourite)]
print fav+" is a nice choice indeed!. The big bear will kill you anyway. Good bye."