def main():
wolf = int(input("Enter wolf population (initial): "))
rabbit = int(input("Enter rabbit population (initial): "))
grass = float(input("Enter total grass area, initially fertile (in sq yards): "))
wolf_growth = float(input("Enter wolf growth rate (in percentage): "))
rabbit_growth = float(input("Enter rabbit annual growth rate (in percentage): "))
area_growth = float(input("Enter grass area annual growth rate (in percentage): "))
for year in range(0,21):
wolf = wolf * (1 + wolf_growth / 100)
print()
print("Year Wolf Population Rabbit Population Available Grass Area")
print("%-2d%6d%19d%22.2f" %(year, wolf, rabbit,grass))
main()
这是我的代码,而且有效。但是我需要帮助来找出如何根据额外的计算正确地完成编码。 “狼的数量每年都以特定的速度增长 用户输入。除此之外,每5年狼的数量就会减少到以前的一半 年人口由于流行性疾病的广泛传播。考虑到狼的初始数量, 计算每年狼的数量(提示:使用模运算符计算 疾病传播年的人口)。每年,狼的数量都需要更新 其增长率如下。此外,除第1年外,每5年一次(即仅在第6、11、16年),狼的数量 必须是前一年狼数量的一半”
我尝试使用嵌套for循环来处理这个部分,但无法使其工作。你知道吗
提前多谢!!!你知道吗
不需要嵌套循环-只需在循环中放入
if
语句:您可以看到,只有当
year
都可以被5
整除时,wolf /= 2
行才会激活(这就是%
,或称“模”运算符所做的-在除法之后取余数)。如果year
除以5
后的余数是0
,则year
可除以5
),并且不等于0
(因此,不是第一年)。不确定这是否准确地处理了您的需求—您在问题中发布的内容有点混乱—但这应该很简单,以适应您的用例。你知道吗相关问题 更多 >
编程相关推荐