要比较字符串是否全为数字,可以使用isdigit()方法来判断。而要比较日期,则需要将日期字符串转换为日期对象,并进行比较。
以下是一个示例代码,根据输入的两个字符串进行数字比较和日期比较:
import datetime
def compare_strings(str1, str2):
# 检查str1和str2是否全为数字
if str1.isdigit() and str2.isdigit():
print("两个字符串均为数字")
if int(str1) == int(str2):
print("两个数字相等")
elif int(str1) > int(str2):
print("第一个数字大于第二个数字")
else:
print("第一个数字小于第二个数字")
else:
print("两个字符串不全为数字")
def compare_dates(date1, date2):
try:
# 将日期字符串转换为日期对象
date1_obj = datetime.datetime.strptime(date1, "%Y-%m-%d")
date2_obj = datetime.datetime.strptime(date2, "%Y-%m-%d")
print("两个日期字符串均合法")
if date1_obj == date2_obj:
print("两个日期相同")
elif date1_obj > date2_obj:
print("第一个日期大于第二个日期")
else:
print("第一个日期小于第二个日期")
except ValueError:
print("一个或两个日期字符串不合法")
# 示例调用
compare_strings("123", "456")
compare_strings("123", "abc")
compare_dates("2022-01-01", "2022-01-01")
compare_dates("2022-01-01", "2022-01-02")
在这个示例中,compare_strings()函数用于比较两个字符串是否全为数字,并根据比较结果输出相应信息。compare_dates()函数用于比较两个日期字符串,并输出比较结果。
请注意,在比较日期之前,需要使用datetime.datetime.strptime()方法将日期字符串转换为日期对象。如果日期字符串不符合指定的日期格式,会引发ValueError异常。因此,在示例代码中使用了try-except来捕获可能的异常情况。