首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >if语句中运算符使用方式导致不同结果的原因?

if语句中运算符使用方式导致不同结果的原因?

提问于 2019-04-08 10:12:55
回答 0关注 0查看 148
代码语言:python
代码运行次数:0
复制
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

list1 =[]
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if( i != k ) and (i != j) and (j != k):
                num1 = 100 * i + 10 * j + k
                list1.append(num1)
print (list1)
print('共有',len(list1),'个')

# ---------------------------- 如果出现连等的情况,则会有首位相同的代码计入-------------------------------
# 差别在于    if( i != k ) and (i != j) and (j != k):      if i!= j != k :
list1 =[]
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!= j != k :
                num1 = 100 * i + 10 * j + k
                list1.append(num1)
print (list1)
print('共有',len(list1),'个')


两种输出的差别

[123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
共有 24 个
[121, 123, 124, 131, 132, 134, 141, 142, 143, 212, 213, 214, 231, 232, 234, 241, 242, 243, 312, 313, 314, 321, 323, 324, 341, 342, 343, 412, 413, 414, 421, 423, 424, 431, 432, 434]
共有 36 个

明显,第一种方法输出的是正解,但是第二种出现错误的原因是什么呢?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档