有人可以帮助我准确理解下面的python语句中的逻辑工作原理吗?
return ["even", "odd"][num % 2]
此函数正确返回偶数/奇数值。
答案 0 :(得分:7)
["even", "odd"]
是一个包含两个元素的列表,因此索引为0和1。
它被[]
索引(num % 2
)。
如果num
是偶数,则num % 2
是0
,而["even", "odd"][0]
是"even"
。
如果num
为奇数,则num % 2
为1
,而["even", "odd"][1]
为"odd"
。
答案 1 :(得分:2)
$remember
符号是mathematical modulus function。 %
将在num为偶数时返回0,在num为奇数时返回1。然后,该值用于返回num % 2
的相应元素。
答案 2 :(得分: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
也没有其他可能的结果,因此没有机会访问超出范围的索引。
答案 3 :(得分:1)
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])