年、月、日问题,首先就要想到闰年之分,就与2月的29天有关······
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):该语句为判断闰年的语句。
'''输入某年某月某日,判断这一天是这一年的第几天?'''
run_dict={1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
ping_dict={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
date=int(input("请输入日期:"))
sum=0
if 0<month<=12 and 0<date<=31:
if(year%400==0)or((year%400==0))and (year%100!=0):
for i in range(1,month):
sum=sum+run_dict[i]
print("这一天是{}的第{}天".format(year,sum+date))
else:
for i in range(1,month):
sum=sum+ping_dict[i]
print("这一天是{}的第{}天".format(year,sum+date))
else:
print("Data Error")
本代码中新掌握的format函数:
执行字符串格式化操作。 调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域。 每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。 返回的字符串副本中每个替换域都会被替换为对应参数的字符串值。