(初学者Python)创建依赖于用户输入的if / else语句?

时间:2014-11-02 03:10:33

标签: python if-statement

我正在尝试创建一个简单的脚本,它将询问用户将输入答案的问题(或者可以显示带有可选答案的提示?),程序将根据输入输出响应。

例如,如果我要说

prompt1=input('Can I make this stupid thing work?')

我会有类似

的内容
if prompt1='yes': 
    print('Hooray, I can!')

else prompt1='No':
    print('Well I did anyway!')

elif prompt1=#an answer that wouldn't be yes or no
    #repeat prompt1

我可能会以错误的方式解决这个问题。请尽可能描述,因为这对我来说是一次学习练习。提前谢谢!

2 个答案:

答案 0 :(得分:1)

你非常接近。阅读一个很好的教程:)

#!python3
while True:
    prompt1=input('Can I make this stupid thing work?').lower()

    if prompt1 == 'yes':
       print('Hooray, I can!')
    elif prompt1 == 'no':
       print('Well I did anyway!')
    else:
       print('Huh?') #an answer that wouldn't be yes or no
  • while True将永远循环程序。
  • 使用==测试是否相等。
  • 使用.lower()可以更轻松地测试答案,无论大小写如何。
  • if/elif/elif/.../else是测试的正确顺序。

这是Python 2版本:

#!python2
while True:
    prompt1=raw_input('Can I make this stupid thing work?').lower()

    if prompt1 == 'yes':
       print 'Hooray, I can!'
    elif prompt1 == 'no':
       print 'Well I did anyway!'
    else:
       print 'Huh?' #an answer that wouldn't be yes or no
  • raw_input代替input。 Python 2中的input将尝试将输入解释为Python代码。
  • print是一个声明而不是一个函数。请勿使用()

答案 1 :(得分:1)

另一个例子,这次作为一个函数。

def prompt1():
    answer = raw_input("Can I make this stupid thing work?").lower()
    if answer == 'yes' or answer == 'y':
        print "Hooray, I can!"
    elif answer == 'no' or answer == 'n':
        print "Well I did anyway!"
    else:
        print "You didn't pick yes or no, try again."
        prompt1()

prompt1()