【发布时间】:2019-12-16 15:01:52
【问题描述】:
我最近开始编写一个 Python 程序,我想在该程序中“引导”用户完成答案。我认为最好的表达方式是举个例子:
假设我有一份问卷,其中有 2 个问题,但只有在用户回答了之前的问题时才能询问这些问题:
- Q1:您是否年满 18 岁?
- A1:是(重定向到问题二)
- A1:否(*重定向到说明用户无法参与调查问卷的文字)
我也在尝试用它做更多的事情。我的完整计划是:
有一个初始问题,询问用户想要使用三个功能中的哪一个。
- 第一个功能:检查用户是否可以申请(年龄、状态等)
- 第二个功能:列出申请的分步
- 第三个功能:提供问答列表。
我写到现在的代码只针对第一个函数,有很多错误(我以前从来没有写过代码)。
- 如何格式化此编码以使其适合我想要做的整个方案?
- 如何做到这一点,以便用户在输入错误(不是输入 y 或 n)时不会崩溃,而是循环回问题?
到目前为止我的代码:
print ("Answer all yes or no questions with Y or N")
while True:
idade = input("Are you over 18? Y/N")
if idade.lower() not in ('y', 'n'):
print("Answer only with Y or N")
else:
if idade == "Y" or idade == "y":
crime = input("Have you ever been arrested or convicted before?")
if idade == "N" or idade == "n":
print("Sorry, you can't apply. ")
if crime.lower() not in ('y', 'n'):
print("Answer only with Y or N")
else:
if crime == "Y" or crime == "y":
print("Sorry, you can't apply. ")
if crime == "N" or crime == "n":
visto = input("Do you have visa TYPE_A'? ")
if visto.lower() not in ('y', 'n'):
print("Answer only with Y or N")
else:
if visto == "Y" or visto == "y":
print("THAT'S AS FAR AS I'VE GONE")
if visto == "N" or visto == "n":
print("THAT'S AS FAR AS I'VE GONE")
break
【问题讨论】:
标签: python python-3.x question-answering