作者:海and云 | 来源:互联网 | 2023-10-12 11:46
有人可以帮助我准确理解下面的python语句中的逻辑工作原理吗?
return ["even","odd"][num % 2]
此函数正确返回偶数/奇数值。
["even","odd"]
是一个包含两个元素的列表,因此索引为0和1。
它被[]
索引(num % 2
)。
如果num
是偶数,则num % 2
是0
,而["even","odd"][0]
是"even"
。
如果num
为奇数,则num % 2
为1
,而["even","odd"][1]
为"odd"
。
,
$remember
符号是mathematical modulus function。 %
将在num为偶数时返回0,在num为奇数时返回1。然后,该值用于返回num % 2
的相应元素。
,
它只是返回一个字符串。列表$services = $request->except('_token');
foreach ($services['services_selects'] as $id => $value) {
DB::table('services')->insert(['service_id' => $value]);
}
中的适当值是使用余数(["even","odd"]
)提取的。
例如,假设num%2
为4。因此,num
为0。在这种情况下,将返回列表的第0个元素(即num%2
)。
现在,如果even
为5,则余数将为1,并将返回位置1的字符串(在这种情况下为num
)。请注意,即使对于负数,odd
也没有其他可能的结果,因此没有机会访问超出范围的索引。
,
numbers_list = list(range(10))
def odd_even(any_list):
odd = []
even = []
for element in any_list:
if element % 2 == 0:
# 10 % 2 = 0,10 % 3 = 1,10 / 4 = 2(2) => 10 % 2 = 2
even.append(element)
else:
odd.append(element)
return odd,even
# there are two way for answers. first - when element % 2 = 0,so this is even number
# and second - when element % 2 = 1,so this is odd number
print(odd_even(numbers_list))
# if we'll want to run the code output will like this:
# ([1,3,5,7,9],[0,2,4,6,8])