Python raw_input

时间:2013-12-14 07:12:08

标签: python python-2.7 raw-input

我正在使用py 2.7。我是python的新手,我的意思是三天。我试图让这个基本能力下降,所以我可以创建一些脚本,因为我在我正在学习的书中工作。我想要做的是创建一个脚本,在选择一个列表时,在函数,方法和模块之间将列表打印到屏幕上。我所知道的就是这个,但是如果有人可以帮助我让脚本接受函数,方法或模块作为打印列表的输入,我将非常感激并且会更快地学习python。提前谢谢。

raw_input ("Choose functions, methods, or modules: ')

当然我也知道如何制作清单:

functions= [
...some functions
]
modules = [
...some modules
]
methods = [
...some methods
]

我不知道该怎么做将它们全部放在一个可执行脚本中,该脚本将接受三个选项raw_input。记住这不是py 3所以输入不是我想要的。

3 个答案:

答案 0 :(得分:2)

choice = None
while choice not in ['functions', 'methods', 'modules']:
    choice = raw_input('Choose functions, methods, or modules: ')

答案 1 :(得分:1)

以下是如何为用户输入接受3种不同选择的示例。如果用户没有键入函数,方法或模块,它将要求他们再次选择。

然后根据他们输入的内容,如果它在三个选项中,它将只执行他们输入的选择。这几乎适用于任何事情。

   def userInput():
       variable_21 = raw_input("Type functions, methods, or modules: ")
       if variable_21 == "functions":
           doFunction()
           print functions
       elif variable_21 == "methods":
           print methods
       elif variable_21 == "modules":
           print modules
       else:
           print "Sorry, you didn't type a valid value."
           userInput()

为初学者学习python的一种非常好的方法。是使用www.codecademy.com。他们有非常直接的,一步一步的指示。

答案 2 :(得分:1)

您可以考虑将它们映射到字典中。所有直截了当的代码。

functions = ['sum', 'id', 'str', 'list']
modules = ['random', 'numpy', 'scipy', 'os']
methods = ['some_other_stuff']

answer = dict()
answer['functions'] = functions
answer['modules'] = modules
answer['methods'] = methods

while True:
    choice = raw_input('Choose between functions, methods, or modules: ')
    if choice in answer.keys(): # ['functions', 'modules', 'methods']
        print answer[choice]