Python 2.7 如何在继续后返回到循环的特定部分?

Python 2.7 如何在继续后返回到循环的特定部分?,python-2.7,try-catch,continue,Python 2.7,Try Catch,Continue,我正在学习使用课堂。我已经将异常构建到我定义的方法之一setBirthday中。它确保输入适合于真正的生日输出。这段代码不是我想要的那样工作 def setBirthday(you): while True: #get numeric birth month try: m = int(raw_input("What is your birth month?")) except ValueError:

我正在学习使用课堂。我已经将异常构建到我定义的方法之一setBirthday中。它确保输入适合于真正的生日输出。这段代码不是我想要的那样工作

    def setBirthday(you):
    while True:
        #get numeric birth month
        try:
            m = int(raw_input("What is your birth month?"))
        except ValueError:
            print "Enter an integer, please try again."
            continue
        if m <= 0:
            print "Enter a number between 1-12, please try again."
            continue
        elif m >= 13:
            print "Enter a number between 1-12, please try again."
            continue
      #get birth date
        try:
            d = int(raw_input("What day were you born that month?"))
        except ValueError:
            print "Enter an integer, please try again."
            continue        
        if d <= 0:
            print "Enter a number between 1-31, please try again."
            continue
        elif d >= 32:
            print "Enter a number between 1-31, please try again."
            continue
        #get birth year
        try:
            y = int(raw_input("What year were you born?"))
        except ValueError:
            print "Enter an integer, please try again."
            continue        
        if y <= 0:
            print "Enter a number greater than zero, please try again."
            continue
        else:
            break
    you.bday = datetime(y, m, d)
    age = str(m) + "/" + str(d) + "/" + str(y)
    print "Your birthday is " + (age)
def setBirthday(您):
尽管如此:
#获得数字出生月份
尝试:
m=int(原始输入(“您的出生月份是多少?”)
除值错误外:
打印“输入一个整数,请重试。”
持续
如果m=13:
打印“输入一个介于1-12之间的数字,请重试。”
持续
#获得出生日期
尝试:
d=int(原始输入(“你那个月是哪一天出生的?”)
除值错误外:
打印“输入一个整数,请重试。”
继续
如果d=32:
打印“输入一个介于1-31之间的数字,请重试。”
持续
#出生年份
尝试:
y=int(原始输入(“您出生的年份?”)
除值错误外:
打印“输入一个整数,请重试。”
继续
如果y
为真:
#获得数字出生月份
尝试:
m=int(原始输入(“您的出生月份是多少?”)
除值错误外:
打印“输入一个整数,请重试。”
持续
如果m=13:
打印“输入一个介于1-12之间的数字,请重试。”
其他:
打破

然后,一天使用同一个循环,一年使用第三个循环。

我会将其拆分为三个不同的循环,当我得到有效输入时,只需使用
break退出它们。当我在每个循环后添加“else”“break”时,它会一次又一次地请求,因为这个月不会继续。
while True:
    #get numeric birth month
    try:
        m = int(raw_input("What is your birth month?"))
    except ValueError:
        print "Enter an integer, please try again."
        continue
    if m <= 0 or m >= 13:
        print "Enter a number between 1-12, please try again."
    else:
        break