【问题标题】:Using multiple inputs for raw_input python [closed]为raw_input python使用多个输入[关闭]
【发布时间】:2016-06-22 19:54:31
【问题描述】:

您好,这是我的第一个问题。这周我开始学习python,并开始制作简单的程序。我开始制作一个 raw_input 程序,所以控制台会问一个问题,比如“嗨,你好吗?”无论你用什么回应它都会说同样的话。有没有一种方法可以做到,如果我说好,它会说“太棒了!......”然后问另一个问题,比如“太棒了!你多大了?”类似的东西?到目前为止,这是我的简单代码。

print "Hello! THis is a simple program created by myselF! It will ask a variety of simple questions!"

how_are_you = raw_input("How are you?")
print how_are_you

age = raw_input("Good, glad to hear it! How old are you?") # Or "Aw thats not good hopefully this will change that. blah blah blah.
print age

【问题讨论】:

  • 微妙。这可以很容易地从几行代码变成一些 AI 项目。
  • 是的,您可以这样做,但它可能会很快变得非常复杂,并且不是 SO 问题的好主题。我将从一个字典开始,将可以匹配用户输入的东西(例如使用正则表达式或像'good' in response.lower() 这样简单的东西)映射到“机器人”应该采取的下一个动作(例如print 'Awesome!')。

标签: python input raw-input


【解决方案1】:

是的,去看看if statements, and flow of control。简而言之,if 允许您在条件为真时做一些事情。在这个例子中,它可能是这样的:

how_are_you = raw_input("How are you? ")
if how_are_you == 'good':
    print 'Awesome!'

您也可以使用elseelif 来拥有多个分支:

how_are_you = raw_input("How are you? ")
if how_are_you == 'good':
    print 'Awesome!'
elif how_are_you == 'great':
    print 'Fantastic!'
else: # if how_are_you is anything except 'good' or 'great'.
    print "that's not so good..."

还有很多很多事情要确保有意义的事情正常工作(如果用户键入“好”这个块不会抓住它 - 你需要使用 .lower() 功能进行比较,而不考虑大小写,或者in 验证标点符号不会杀死它。)。 if...elif...else 链可以任意长,因此您可以拥有尽可能多的选项和独特的响应。

如果您想对多个输入使用相同的响应,您还可以将条件与andor 链接起来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多