题目为:一对小兔子一年后长大成大兔子;一对大兔子每半年生一对小兔子。大兔子的繁殖期为4年,兔子的寿命是6年。假定第一年年初投放了一对小兔子,试编程计算,第n年末(不考虑死亡情况)总共会有多少对兔子。n由键盘输入。
用python语言编程进行实现
# 一对小兔子一年后长大成大兔子;一对大兔子每半年生一对小兔子。大兔子的繁殖期为4年,兔子的寿命是6年。假定第一年年初投放了一对小兔子,
# 试编程计算,第n年末(不考虑死亡情况)总工会有多少对兔子。n由键盘输入
years = input('请输入经过的年数:')
years = int(years)
years = 2 * years # 因为繁殖期为半年,兔子更新迭代的的过程为输入年份乘二,解决了半年的问题
# print(type(years)) # 无法输入正整数以外的内容,否则会报错
# 构建每个年龄阶段的兔子数量
zero = 1
one = 0
two = 0
three = 0
four = 0
five = 0
six = 0
seven = 0
eight = 0
nine = 0
ten = 0
eleven = 0
twelve = 0
died = 0
new = 0
for i in range(0, years): # 用for循环模拟时间的推移
new = two + three + four + five + six + seven # 此为新生出的兔子,用来更新0岁的兔子,由上一年繁殖期内的兔子数量更新
died = twelve + died
twelve = eleven
eleven = ten
ten = nine
nine = eight
eight = seven
seven = six
six = five
five = four
four = three
three = two
two = one
one = zero
zero = new
all_rabbit = zero + one + two + three + four + five + six + seven + eight + nine + ten + eleven + twelve # 现存兔子总数
print('现存{}只兔子'.format(all_rabbit))
print('总共消逝了{}只兔子'.format(died))
第一次发作品,因为在网上搜不到作业答案对照,自己写了一个,如有不对,还望大家能够指正。