刚开始使用python,不到一周。这个练习开始了。我设法在网上找到了这段代码,并开始掌握它:
“一只蜗牛掉进125厘米的井底。蜗牛每天上升30厘米。但是晚上睡觉的时候,因为墙壁湿滑了20厘米。从井里逃出来要多少天?你知道吗
-将问题数据分配给具有代表性名称的变量 井高、日进、夜退、累计距离
well_height = 125
daily_advance = 30
night_retreat = -20
accumulated_distance = daily_advance + night_retreat
totalcms = 0
-将0赋给表示解决方案的变量
days = 0
-编写解决问题的代码
snailhasnotescaped = True
while snailhasnotescaped:
totalcms += accumulated_distance
days += 1
if totalcms >= well_height:
snailhasnotescaped = False
-使用Print打印结果('Days=',Days)
print("Days = ", days, "days")"
现在是问我这些问题:
蜗牛走过的距离现在由一个列表定义。你知道吗
advance_cm = [30, 21, 33, 77, 44, 45, 23, 45, 12, 34, 55]
升井需要多长时间? 它一天的最大排水量是多少?最小值是多少? 它白天的平均速度是多少? 白天位移的标准差是多少?你知道吗
有人能帮我吗? 先谢谢你
首先,想象一下,如果蛇在第X天到达顶端之前还有15厘米的距离,它会到达井的顶端吗?显然,因为他前进了30厘米,然后又后退了20厘米。小心,你的代码没有考虑到这一点。我会这样做:
请注意
while True
是一种坏的做法。只有当你确定你会打破循环时才是好的。您可以在这里添加一个条件来验证snake在进入循环之前是否前进。相反,你可以决定先下楼再上楼,然后做while totalcms < well_height
。你知道吗您还可以围绕一个函数包装所有内容,以便能够更有效地使用它。你知道吗
下一个问题模棱两可。是每天的预付费吗?如果是的话,不用while循环,只需遍历列表(它甚至可以解决我们的问题)。至于其他问题,我相信你能解决!你知道吗
祝你好运!你知道吗
您可以尝试:
下面是你的代码:
现在,
accumulated_distance
是常量。您可以预先将其设置为accumulated_distance = daily_advance + night_retreat
。有了新问题,你就没办法了。因此,以下是如何调整解决方案以适应新问题,顺序如下:不是一次计算
accumulated_distance
,而是需要为每一天计算它:如果
advance_cm
中的天数不够,则可以在循环完成后检查:好吧,你知道它每天走多远-你只需要找到一天中最远的距离。Python有一个内置函数,可以方便地完成这项工作:
或者,如果在夜间向后摔倒算作总位移,您可能需要更改回路以生成新的位移列表:
然后我们可以从中得到最大位移:
你应该知道怎么计算平均数。Python有一个内置的
sum()
函数来获取一个列表中所有元素的总和,这使得这变得很容易:至于标准差,这有点棘手-你需要知道标准差公式,并计算它。谢天谢地,python的标准库包含了
statistics
包,它可以为您做到这一点!你知道吗相关问题 更多 >
编程相关推荐