如何在Python的简单Compsci 101 APT中修复我的代码

问题描述 投票:0回答:1

这是我们遇到的问题:

问题陈述

您是煎饼餐厅里的短时厨师,所以您需要尽快煮煎饼。您有一个平底锅可以同时容纳薄煎饼。您必须使用此锅烹饪numCakes煎饼。每个煎饼必须在每侧上煮5分钟,一旦煎饼开始在一侧上烹饪,则必须在该侧上煮5分钟。但是,当您准备在五分钟后将薄煎饼翻转时,可以将它从平底锅中取出,然后再放回平底锅中进行另一面的烹饪。编写分钟需要的方法,该方法返回在同时容纳容量煎饼的锅中烹饪numCakes煎饼所需的最短时间。请参阅示例。

所需的def分钟数(数字蛋糕,容量):

我已经尝试了各种方法,并且已经使它在大多数情况下都可以使用,但是它并不总是有效,因为我不知道如何容忍有时您必须脱掉一个东西,然后再开始操作。另一只煎饼的一面,然后放回去完成。

def minutesNeeded (numCakes, capacity):
    #set some variables
    above = numCakes - capacity
    below = numCakes - above
    if numCakes <= capacity:
        time = numCakes * 10 / capacity
        return(int(time))
    else:
        time = below * 10 / capacity + above * 5
        return (int(time))

Lemme添加示例:

import math

def minutesNeeded(numCakes, capacity):
    return (math.ceil(numCakes / capacity)) * 10

[这里是一个例子:预期15会得到20:32。这是行不通的,因为在这种情况下,您需要做的是先将两块薄煎饼放五分钟(煮那两面),然后再放下薄煎饼并开始第三做饭,第三做饭,再做五分钟。现在您有一个煮熟的煎饼和两个煮熟的煎饼。因此,您再将这两个半熟的薄煎饼再煮五分钟。您总共花了15分钟时间煮了三个薄煎饼,但是并没有花20分钟。

python algorithm apt
1个回答
0
投票

该问题并未指定倒入面糊,翻转薄煎饼或取出薄煎饼所需的时间,因此,为简单起见,我们将假定这些操作花费零时间。那我们知道些什么?

  • 一批煎饼需要10分钟(每面5分钟)
  • 最后一批次,无论平底锅是否满负荷,仍然需要10分钟

所以我们需要做的是将numCakes除以​​capacity以确定所需的批次数量,将其四舍五入以使其成为偶数批次。然后将批处理数量乘以10分钟:

import math

def minutesNeeded(numCakes, capacity):
    return (math.ceil(numCakes / capacity)) * 10
© www.soinside.com 2019 - 2024. All rights reserved.