将一定数量的人分成相同大小的组,其余的在上面再形成1组,不使用if语句

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

所以我试图弄清楚如何将给定数量的人分成给定的组大小,例如: 11 个人分成 3 人一组,程序给出答案 4,因为剩下的人也应该在上面形成一个组,因为只有一个组可以包含小于给定组大小的内容,但如果没有 if,我无法弄清楚如何做到这一点-语句,并且仅使用数学运算符,我正在寻求指导。

我尝试了一些方法,询问人数和团体规模,并将它们存储在名为 [amount] 和 [size] 的变量中,并尝试找出如何使用“// “运算符,但我无法弄清楚。

python division integer-division
3个回答
0
投票

你的意思是这样吗?

import math
math.ceil(people_count/group_size)

0
投票

好吧,如果它完全适合,即余数为 0,那么你只需进行除法即可。如果它不完全适合,即余数为正,则您还需要一组。

有几种方法可以做到这一点。

使用浮点除法和向上舍入:

num_people = 11
group_size = 3

num_groups = int(num_people / group_size + 0.5)

使用余数的符号

import math

num_people = 11
group_size = 3

num_groups = (num_people // group_size) + math.sign(num_people % group_size)

0
投票

人数 = 11

组大小= 3

num_groups = (num_people + group_size - 1) // group_size

© www.soinside.com 2019 - 2024. All rights reserved.