破译此python代码时遇到问题

2024-09-27 00:16:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,很难理解这个问题到底要我做什么:

“一只蚱蜢试图跳到N英尺以外的花上,但是,它的跳跃方式有一些限制

它只能向前跳,不能向后跳。如果它经过花,它就不能回来

在任何给定的点上,它可以跳M英尺,也可以只跳1英尺

在一行输入中,有两个整数值:N和M

确定蚱蜢准确到达花朵所需的最小啤酒花数量。”

请帮忙!到目前为止

def num_of_hops(n, m):
    while m < n / n % 1: 
        m += 1 
        if m > n:
            break

Tags: of数量ifdef方式整数numbreak
1条回答
网友
1楼 · 发布于 2024-09-27 00:16:12

如前所述,you’re given 2 integer values: N and M.。M是一个变量,它可以表示每跳的任意英尺数,但我们假设它总是大于1。你的目标是以最少的跳跃次数到达N英尺外的花朵

因此,基本上有两种啤酒花:

  • 1英尺跳跃
  • 米英尺跳跃(米>;1)。 你可能想用尽可能多的米大小的啤酒花去够到花

关于解决办法的建议如下:

def num_of_hops(n, m):
    counter = 0  # This counter represents the number of hops done
    while n > 0:  # As long as we haven't reached the flower - keep going
        if n - m >= 0:  # If it is possible to make an M sized hop...
            n -= m  # n = n - m
        else:  # If we must make a 1 foot hop...
            n -= 1  # n = n - 1
        counter += 1  # counter = counter + 1
    return counter;  # Return the number of hops done

请注意:如评论中所述,可以使用模(%)运算符,但根据给定的标记,我想您谈论的是循环

相关问题 更多 >

    热门问题