Python Try语句未正确激活

时间:2017-12-27 19:06:12

标签: python-3.x syntax try-except

我正在尝试使用try语句来激活,但它无法正常工作:

import datetime
import re
import sys

debug = True
log = sys.stdout

dates = ['1/1/2010', '1-Jan-2010']
def date_fixer(date):
    constant = datetime.date(1899, 12, 30)
    if debug : print("Fix this date: ", date, file=log)
    if date.strip() == "None" : return ""
    if len(date) == 4 : return date
    try:
        if date == datetime.datetime.strptime(date, '%m/%d/%Y').strftime('%m/%d/%Y'):
            print("Hello.")
    except:
        try:
            if date == datetime.datetime.strptime(date, '%d-%b-%Y').strftime('%d-%b-%Y'):
                print("Bye.")
        except:
            print("Something went wrong.")
    else:
        print("Your program is working fine.")

for date in dates:
    date_fixer(date)

第一个日期(2010年1月1日)返回我想在屏幕上看到的大部分内容:

Fix this date: 1/1/2010
Your program is working fine.

第二个日期(2010年1月1日)仅显示:

Fix this date: 1-Jan-2010

我看了,无法弄清楚我做错了什么;我想知道它是否与某个功能有关?我得到了这个尝试/除了工作,在网上看:

str = input("Enter a number: ")
try:
    num = int(str)
    if num > 100:
        print("More than 100.")
    elif num == 100:
        print("Is 100")
    else:
        print("Less than 100.")
except:
    print("Enter a number, only.")
else:
    print("Program working fine.")

有人可以帮我理解为什么我的try语句没有捕获打印语句吗?

0 个答案:

没有答案