Python 关于函数的几个问题
如果Python 关于函数的几个问题,python,Python,如果len(people)仅为3,如何让people\u num返回6。对于table_num,在-(-len(people)//table_size)中有负号,这有什么作用?使用一些简单的例子,是否有其他方法计算与会者和桌子的数量?谢谢。既然你把每个家庭的人数加起来,那么每个家庭的人数就会变成len(['Jan'])+len(['Jen',Jess'])+len(['Jem',Jack',Janis'])=1+2+3=6 -(-len(people)//table\u size)这个词有点狡猾
len(people)
仅为3,如何让people\u num
返回6
。对于table_num
,在-(-len(people)//table_size)
中有负号,这有什么作用?使用一些简单的例子,是否有其他方法计算与会者和桌子的数量?谢谢。既然你把每个家庭的人数加起来,那么每个家庭的人数就会变成len(['Jan'])+len(['Jen',Jess'])+len(['Jem',Jack',Janis'])=1+2+3=6
-(-len(people)//table\u size)
这个词有点狡猾,但是你会注意到它的作用,注意到a//b==floor(a/b)
。整数除法c=a//b
的定义使得c
是最大的整数,因此c@siwica我得到了关于len()的第一部分,第二部分在地板上用负数除法似乎有点混乱。最后一部分使用列表理解,非常简洁,可以从中删除。谢谢。@siwica地板分割带负数,通常在什么时候使用?
def get_party_stats(families, table_size=6):
"""To calculate the number of attendees and tables needed.
Args:
families(list): a list of members.
table_size(int): table size of 6.
Returns:
mixed: people count & table count.
Examples:
>>> get_party_stats([['Jan'], ['Jen', 'Jess'], ['Jem', 'Jack',
'Janis']])
'(6, 3)'
"""
table_num = 0
people_num = 0
for people in families:
table_num += -(-len(people)//table_size)
people_num += len(people)
return people_num, table_num
-1 // 6 == -1 1 // 6 == 0
-2 // 6 == -1 2 // 6 == 0
... ...
-6 // 6 == -1 6 // 6 == 1
-7 // 6 == -2 7 // 6 == 1
-8 // 6 == -2 8 // 6 == 1
... ...
-12 // 6 == -2 12 // 6 == 2
-13 // 6 == -3 13 // 6 == 2
def get_party_stats(families, table_size=6):
return (sum([len(f) for f in families]),
sum([-(-len(f) // table_size) for f in families]))