python
小程序:
实验目的:假设人一辈子活
30000
天,输入出生日期,计算死去的那一天。
实验过程:考虑的主要是年月日的逻辑控制以及
python
中函数传值的情况。另外熟悉
python
的
date
库。
实验总结:
python
的函数传值传的全是引用,类比于
C
语言也就是指针。如果传的是不可以
变量的话(大部分变量都是不可变量,我知道的可变量只有列表
List
和字典
Dictionary
),
那么如果在被调用函数内部改变了值的话会另外再新创一个变量,没有改变值的话就保持原
来的变量。本例中,
dead
传到
calumonth
函数中,一开始的
dead
和原来的
dead
是一个东
西,后来改变了值就另外新建了一个叫
dead
的新对象,多以最后要
return
返回这个变量。
源码:
from datetime import date
def calumonth(dead,feb):
if dead.month == 2:
#
考虑闰月的情况
if dead.day == feb:
dead = dead.replace(month=3)
dead = dead.replace(day=1)
else :
newday = dead.day + 1
dead = dead.replace(day=newday)
elif dead.month == 1 or dead.month == 3 or dead.month==5 or dead.month==7 or
dead.month==8 or dead.month==10 or dead.month==12:
#
大月
if dead.day == 31:
if dead.month == 12:
newy = dead.year + 1
dead = dead.replace(year=newy)
dead = dead.replace(month=1)
dead = dead.replace(day=1)
else:
dead = dead.replace(day=1)
newmonth = dead.month + 1
dead = dead.replace(month=newmonth)
else:
newday = dead.day + 1
dead = dead.replace(day=newday)
else:
if dead.day == 30:
newmonth = dead.month + 1
dead = dead.replace(month=newmonth)
dead = dead.replace(day=1)
else:
newday = dead.day + 1
dead = dead.replace(day=newday)
return dead
def deadday(year,month,day):
bir = date(year,month,day)
dead = bir