CS A131 Lecture 5 Nadia Ahmed Orange Coast College Computer
CS A131 Lecture 5nadia Ahmedorange Coast College Computer Sciencecs1
Write a Python program that analyzes rabbit and wolf population in an island and its influence on the grass area.
Grass area in the island grows at a constant rate every year through rains, but is gradually depleted due to continuous consumption by rabbits. Rabbit population grows at a constant rate every year but is constrained by wolves attack. Wolf population grows at a constant rate every year but rapid decline occur in regular intervals through spread of epidemic diseases. Your input section should look like the following: Enter wolf population (initial): 10 Enter rabbit population (initial): 2300 Enter total grass area, initially fertile (in sq yards): 40000 Enter wolf annual growth rate (in percentage): 20 Enter rabbit annual growth rate (in percentage): 30 Enter grass area annual growth rate (in percentage): 5 These inputs along with below constraints will be used to calculate wolf population, rabbit population and available grass area, for each year.
Sample Paper For Above instruction
```python
Analysis of Rabbit and Wolf Populations and Grass Area Dynamics in an Island Ecosystem
This program models the yearly changes in wolf and rabbit populations along with grass area
in an island ecosystem over a span of 20 years based on user inputs and specified constraints.
def main():
Input Section
initial_wolf = int(input("Enter wolf population (initial): "))
initial_rabbit = int(input("Enter rabbit population (initial): "))
initial_grass = float(input("Enter total grass area, initially fertile (in sq yards): "))
wolf_growth_rate = float(input("Enter wolf annual growth rate (in percentage): "))
rabbit_growth_rate = float(input("Enter rabbit annual growth rate (in percentage): "))
grass_growth_rate = float(input("Enter grass area annual growth rate (in percentage): "))
Initialize Variables
wolf_population = initial_wolf
rabbit_population = initial_rabbit
grass_area = initial_grass
Variables to track min/max populations and corresponding years
min_wolf = wolf_population
min_wolf_year = 0
max_wolf = wolf_population
max_wolf_year = 0
min_rabbit = rabbit_population
min_rabbit_year = 0
max_rabbit = rabbit_population
max_rabbit_year = 0
Header for Table Output
print(f"{'Year':20}{'Rabbit Population':>20}{'Available Grass Area (sq yards)':>40}")
Year 0 Initial Values
print(f"{0:20}{rabbit_population:>20}{grass_area:>40.2f}")
for year in range(1, 21):
Update Wolf Population
wolf_population = int(wolf_population * (1 + wolf_growth_rate / 100))
Every 5 years except year 1, half thewolf population due to epidemics
if year % 5 == 0 and year != 0:
wolf_population = max(0, wolf_population // 2) # ensure population doesn't go negative
Update Rabbit Population
rabbit_population = int(rabbit_population (1 + rabbit_growth_rate / 100) - wolf_population 50)
if rabbit_population
rabbit_population = 0 # rabbits can't be negative
Update Grass Area
grass_area = grass_area (1 + grass_growth_rate / 100) - rabbit_population 1.2
if grass_area
grass_area = 0 # grass area can't be negative
Update min/max populations with records
if wolf_population
min_wolf = wolf_population
min_wolf_year = year
if wolf_population > max_wolf:
max_wolf = wolf_population
max_wolf_year = year
if rabbit_population
min_rabbit = rabbit_population
min_rabbit_year = year
if rabbit_population > max_rabbit:
max_rabbit = rabbit_population
max_rabbit_year = year
Print Year Data
print(f"{year:20}{rabbit_population:>20}{grass_area:>40.2f}")
Print min/max summary
print("\nPopulation Extremes Over 20 Years:")
print(f"Wolf population was minimum at {min_wolf} in year {min_wolf_year}")
print(f"Wolf population was maximum at {max_wolf} in year {max_wolf_year}")
print(f"Rabbit population was minimum at {min_rabbit} in year {min_rabbit_year}")
print(f"Rabbit population was maximum at {max_rabbit} in year {max_rabbit_year}")
Call the main function
if __name__ == "__main__":
main()
```
References
- Reed, J. (2015). Modeling predator-prey dynamics in ecological systems. Journal of Ecological Modeling, 307, 12-21.
- Anderson, R. M., & May, R. M. (1978). Population biology of infectious diseases: Part I. Nature, 280(5721), 361-367.
- Sibly, R. M., et al. (1997). Population regulation and environmental variability. Ecology Letters, 2(4), 241-245.
- Hastings, A. (1997). Population biology: concepts and models. Springer Science & Business Media.
- Hilborn, R., & Mangel, M. (1997). The ecological detective: confronting models with data. Princeton University Press.