python基础性小题详解

python的5道小题及分析过程和代码详解

一、有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

推理:一共四个数,取其中3位,就能达到无重复数字,第一个数有4种可能:1,2,3,4;第二个数有三种可能,第三个数有两种可能,至此,就组成了互不相同的三位数。当一组数存在某种顺序时,就可以用递归了,但我这里不做递归,只是小小的提供思路。

lista = [1,2,3,4]          #题目要求,列表里存1~4
listb = []              #因为要输出,方法众多,这里新建一个空列表
def a():             #定义一个函数
    for i in lista:            #因为1~4中所有数都可以做百位、十位、个位,所以通过for遍历列表内容以达到目的
        for j in lista:
            for z in lista:
                if i!=j and j!=z and i!=z:        #判断条件:三个数都不相同,满足了就是这道题的答案
                    b = i*100+j*10+z            #因为列表里存放的数组是单个的数,输出需要把他们结合起来
                    print(b)
                    listb.append(b)             #将满足题意的所有数放进原来的空列表中
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值