我最近开始编写一个 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