博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python面试题
阅读量:5124 次
发布时间:2019-06-13

本文共 2707 字,大约阅读时间需要 9 分钟。

给定数组[0-9] 和 boll_array[0111011110], 0表示可以输出, 也可以不输出,1必须输出对应位,输出所有可能情况(按字符串升序)
import copya = [0,1,2,3,4,5,6,67,8,9] # 数字数组b = [0,1,1,1,0,1,1,1,1,0] # 对应的布尔值数组# b = list(map(int,input(">>>").strip().split()))index = []for i in range(0,len(b)):    if b[i] == 1:        b[i] = str(i) # 将布尔值为1的位置赋予对应的数值    if b[i] == 0:        index.append(i) # 记录布尔值为0的位置索引        b[i] = '' # 同时赋予空# print(b)res = [b]# print(res)for ind in index:    # count=0    for i in range(len(res)):#第一次循环一次,第二次循环二次,第三次循环四次        # count  += 1        # print(res[i])        c = copy.copy(res[i])        c[ind] = str(ind) # 对结果列表中的每个组合依次添加布尔值为0的位置所对应的数字        # print(c)        res.append(c)print(res)    # print(count)for i in range(len(res)):    res[i] = ''.join(res[i])res.sort() # 排序for i in res:    print(i)

第一层循环 ind=0时 此时res中存在时着原始列表['', '1', '2', '3', '', '5', '6', '7', '8', ''],c拷贝一份并将0赋给c[0],然后将c加到res中

此时res=[['', '1', '2', '3', '', '5', '6', '7', '8', ''],['0', '1', '2', '3', '', '5', '6', '7', '8', '']] ind=0循环完毕

ind=4时,第二层循环循环二次,c分别拷贝了res并将4赋给c[4],然后依次加入到了res中,此时

res=

[['', '1', '2', '3', '', '5', '6', '7', '8', ''], ['0', '1', '2', '3', '', '5', '6', '7', '8', ''], ['', '1', '2', '3', '4', '5', '6', '7', '8', ''], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '']] ind=9时,第二层循环循环四次,c分别拷贝了res并将9赋给c[9],然后依次加入到了res中 最终
列表输出结果[['', '1', '2', '3', '', '5', '6', '7', '8', ''], ['0', '1', '2', '3', '', '5', '6', '7', '8', ''], ['', '1', '2', '3', '4', '5', '6', '7', '8', ''], ['0', '1', '2', '3', '4', '5', '6', '7', '8', ''], ['', '1', '2', '3', '', '5', '6', '7', '8', '9'], ['0', '1', '2', '3', '', '5', '6', '7', '8', '9'], ['', '1', '2', '3', '4', '5', '6', '7', '8', '9'], ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']]Process finished with exit code 0

 

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
import copylst=[]for a in range(1,5):    for b in range(1, 5):        for c in range(1, 5):            d=str(a)+str(b)+str(c)            lst.append(d)lst0=copy.deepcopy(lst)for i in lst0:    if i[0]==i[1] or i[1]==i[2] or i[0]==i[2]:        lst.remove(i)print(len(lst))print(lst)
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。
def func(n):    a=n/2    # print(a)    lst=[]    count=1    while count
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
n=int(input(">>>"))b=na=n/2# print(a)lst=[]count=2while count
# 输入包括字符串s,s的长度length(1 ≤ length ≤ 50),字符串中只包含'0'和'1' # 输出一个整数,表示最长的满足要求的子串长度。
msg="11111111000011110"count=0lst=[]if len(msg)==1:    print(1)else:    for i in range(len(msg)-1):        if msg[i+1]==msg[i]:            count += 1            lst.append(count)        else:            count=0    if lst==[]:        print(1)    else:        print(max(lst)+1)

 

 

转载于:https://www.cnblogs.com/ellisonzhang/p/10280150.html

你可能感兴趣的文章
2019hdu多校1
查看>>
前端性能优化知识,包括css和js
查看>>
微信开发绑定事件实现机制
查看>>
C#递归、动态规划计算斐波那契数列
查看>>
spring的基本用法
查看>>
Windows 8.1 & Windows Phone 开发环境安装遇到的问题
查看>>
jsoup简单的爬取网页数据
查看>>
Content Provider 基础 之URI
查看>>
------------------uniq 去重复
查看>>
mysql中的CURRENT_TIMESTAMP
查看>>
python死磕八之迭代器与生成器
查看>>
oracle索引
查看>>
C#带按钮的文本框TextBoxContainButton
查看>>
将制定文件路径下的文件内容合并到一个文件
查看>>
python opencv3 轮廓检测
查看>>
网络攻防 第四周学习总结
查看>>
sql执行顺序
查看>>
《科技之巅2》序——机器智能数据智能:工具之王
查看>>
担当大任者的九大特征
查看>>
spring 4.0 JUnit简单的Dao,Service测试
查看>>