我正在尝试使用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语句没有捕获打印语句吗?