【问题标题】:How do I loop an if, elif else statement?如何循环 if、elif else 语句?
【发布时间】:2017-06-07 11:55:44
【问题描述】:

我正在为一个项目编写代码,我需要一些帮助。

当用户输入男性或女性以外的内容时,它会打印消息“错误!请输入有效的性别!”,但它不会重新运行输入语句,因此不会让他们选择性别。我想知道在用户收到错误消息后如何让输入行再次运行。请告诉我如何使用 Python 3.0 做到这一点!

这是我的代码:

Gender = input("Your Gender (Male / Female):")
gender = Gender.lower()
if gender == "male":
  heorshe = "he"
  hisher = "his"
  himher = "him"
  himselfherself = "himself"
  HeShe = "He"
elif gender == "female":
  heorshe = "she"
  hisher = "her"
  himher = "her"
  himselfherself = "herself"
  HeShe = "He"
else:
  print("Error Please enter a valid gender!")
  print('\n')
  gender = False

我将感谢任何给予我的帮助!

【问题讨论】:

  • 使用while循环
  • 是的,一旦您收到正确的输入,您就可以将您的代码包装在一个无限循环中,例如 while Truebreak
  • @yeputons 我如何将它包装在这样的无限循环中?例如,我应该将 while True 和换行符放在哪里?

标签: python-3.x loops if-statement input


【解决方案1】:

封装在一个while循环中,然后当你找到你要找的东西时打破它!

while(True):
  gender = input("Your Gender (Male / Female):").lower()
  if gender == "male":
    heorshe = "he"
    hisher = "his"
    himher = "him"
    himselfherself = "himself"
    HeShe = "He"
    break
  elif gender == "female":
    heorshe = "she"
    hisher = "her"
    himher = "her"
    himselfherself = "herself"
    HeShe = "He"
    break
  else:
    print("Error Please enter a valid gender!")
    print('\n')

【讨论】: