首页 > 试题广场 >

res = 0 for i in range(1, 4):

[单选题]
res = 0
for i in range(1, 4):
    for j in range(1, 4):
        for k in range(1, 4):
            if i != j and i != k and j != k:
                res += 1
print(res)
在Python3中,三层循环后res的结果为:
  • 6
  • 12
  • 3
  • 5
我的错因:range(1,4):只能取到1,2,3
发表于 2022-05-27 16:00:24 回复(0)
值为: 1 2 3
--------------------
值为: 1 3 2
--------------------
值为: 2 1 3
--------------------
值为: 2 3 1
--------------------
值为: 3 1 2
--------------------
值为: 3 2 1
--------------------
6
发表于 2022-01-08 09:02:34 回复(0)
这道题的意思是:当3个数互不相等时,res的值会加1,而这3个数的取值范围都一样,都是从1-3,有三种可能取值,所以res的值加1有6种情况,分别是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1),固3层循环结束后,res的取值为6。
发表于 2022-02-28 09:16:26 回复(0)
排列组合
发表于 2021-12-13 09:59:55 回复(0)
A33
发表于 2021-12-16 19:49:26 回复(0)
排列组合C32
发表于 2022-03-11 01:43:19 回复(0)
本题考查for循环的使用
if i != j and i != k and j != k:   # 这行代码的作用是让i、j、k三个数字不能相同,
总共有3个数字,当一个数字固定的时候,另换的数字进行组合,
当 k = 1,i可能=2,j=3,也可能i = 3,j=2,
当k=2,i =1或者i=3,j=3,或者j=1
当k=3,i=1或者i=2,j=2,或者j=1,也就是总共有:2+2+2 = 6
发表于 2022-05-19 10:25:28 回复(0)
排列组合, i、j、k都可以取值1-3,不能有任何两者相同,共有六种组合形式
i    j    k
3   2   1
3 * 2 * 1 = 6
发表于 2022-03-02 16:36:37 回复(0)
res 0 1 2 3相加,当red=4时,循环中5溢出,跳出循环.不再执行res+1 所以为求和red=6
发表于 2021-12-30 08:25:38 回复(0)
感觉很多人错误的原因都在于忘记了range(),取头不取尾了,这边的(1,4)实际上只有1-3,做的时候记错了1-4(虽然结果也不对,但是做的太快,简单扫一眼选最多的了)

首先这个循环做的是每次i,j,k不同的时候,结果进行+1  
所以结果应该是2*3
第一轮大循环:123 132
第二轮大循环:213 231
第三轮大循环:312 321
发表于 2024-01-09 11:08:04 回复(0)
从3个数中选三个不同的数字的组合种类A33
发表于 2023-08-30 15:30:25 回复(0)

编辑于 2023-05-22 17:21:36 回复(0)
取左不取右
发表于 2023-04-04 21:24:20 回复(0)
组合数
发表于 2023-02-23 21:51:30 回复(0)
执行大循环不应该肯定执行小循环吗
发表于 2022-10-14 09:40:10 回复(0)
每个变量的取值范围是1~3,三个变量不能相同,才能加一。可能得情况就变成数学的排列问题了。就是A33=6.
发表于 2022-08-22 22:53:37 回复(0)
排列组合  C32
发表于 2022-08-20 23:16:48 回复(0)
三级for循环,不是每一级for循环逐级+1吗?先是k=3,然后是j=2,3,最后是i=2,3吗
发表于 2022-08-16 10:51:23 回复(0)
排列组合A3 3
发表于 2022-07-06 20:53:56 回复(0)
要保证三个数都不相同
发表于 2022-06-22 16:43:30 回复(0)