我正在尝试创建一个简单的脚本,它将询问用户将输入答案的问题(或者可以显示带有可选答案的提示?),程序将根据输入输出响应。
例如,如果我要说
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
我可能会以错误的方式解决这个问题。请尽可能描述,因为这对我来说是一次学习练习。提前谢谢!
答案 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()