[Python3 练习] 009 利用列表隐藏并找到有用的信息
题目:利用列表隐藏并找到有用的信息
(1) 描述
1) 题源
- 鱼 C 论坛中“小甲鱼”老师出的题
- 链接地址:第020讲:函数:内嵌函数和闭包 | 课后测试题及答案
2) 修改
- 题中带有一条极长的字符串,不方便写在此随笔中
- 我自己心血来潮,将此题改了改
- 具体见下方要求
(2) 要求
已知 2 个列表与 1 个字符串:
list1 = ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')']
list2 = []
str1 = " I am not a smart man, but I know what love is."
每次从 list1 中随机选出 1 个字符,并将其添加到列表 list2 中,总共添加 520 个字符
将 str1 中的每个字符插入 list2 中
- 不改变每个字符的先后顺序
- 分散插入 list2 中
计算 list2 中各个字符的个数
把插入其中的 str1 找出来
(3) 程序
1) 代码
import random
list1 = ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')']
list2 = []
str1 = "I am not a smart man, but I know what love is."
len_str1 = len(str1) # 字符串长度
len_interval = 520//len_str1 # 间隔
# 写入
for i in range(520): # list2 中的 520 个字符全由 list1 中的字符随机重复组成
temp1 = random.randint(0, 9)
list2.append(list1[temp1])
temp2 = 0
for j in range(len_str1): # 把 str1 中的各个字符“藏入” list2 中
temp2 += random.randint(1, len_interval)
list2.insert(temp2, str1[j])
# 读出
list3 = [] # 存放于 list1 中相同的字符
list4 = [] # 存放找出来的 str1
for k in range(520+len_str1): # list2 的长度为 520+len_str1
if list2[k] not in list3:
print(list2[k], list2.count(list2[k]))
list3.append(list2[k])
if list2[k] not in list1:
list4.append(list2[k])
for i in range(len_str1):
print(list4[i], end='')
2) 运行情况
- 因为一开始存入 list2 中的 520 个字符是随机生成的,所以(几乎)每次运行的结果都是不同的,若出现连续两次相同,可以买一波彩票
- 运行截图

[Python3 练习] 009 利用列表隐藏并找到有用的信息的更多相关文章
- Excel列表部分列表隐藏与取消隐藏
Excel列表部分列表隐藏与取消隐藏 2014-2-19 隐藏:选中需要隐藏的列(选中A.B.C....),右键单击所选部分,选择"隐藏"即可. 取消隐藏:从A选中至所见表格最后的 ...
- 一道Python面试题:给出d = [True, False, True, False, True],请利用列表d,只用一句话返回列表[0,2,4]
看题:给出d = [True, False, True, False, True],请利用列表d,只用一句话返回列表[0,2,4] 这道题的关键是拿到True的索引值,最初我是用list的index方 ...
- python3 三元表达式,列表解析
python3 三元表达式,列表解析 三元表达式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 x=2 y=3 if x > y ...
- 【web端权限维持】利用ADS隐藏webshell
0X01 前言 未知攻,焉知防,在web端如何做手脚维护自己拿到的权限呢?首先要面临的是webshell查杀,那么通过利用ADS隐藏webshell,不失为一个好办法. 0X02 利用ADS隐藏web ...
- Python3 简单的三级列表思路
Python3 简单的三级列表思路(初学者 比较low) 代码如下: info = { '北京':{ '沙河':['benz','momo'], '朝阳':['北土城','健德门'], '国贸':[' ...
- 【Python】机器学习之单变量线性回归 利用批量梯度下降找到合适的参数值
[Python]机器学习之单变量线性回归 利用批量梯度下降找到合适的参数值 本题目来自吴恩达机器学习视频. 题目: 你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方), ...
- Python3 三元表达式、列表推导式、生成器表达式
Python3 三元表达式.列表推导式.生成器表达式 三元表达式 表达式中,有三个元素 name = input("请输入姓名: ")ret = '输入正确' if name == ...
- 利用python itchat给女朋友定时发信息
利用itchat给女朋友定时发信息 涉及到的技术有itchat,redis,mysql,最主要的还是mysql咯,当然咯,这么多东西,我就只介绍我代码需要用到的,其他的,如果需要了解的话,就需要看参考 ...
- Saiku设置展示table数据不隐藏空的行数据信息(二十六)
Saiku设置展示table数据不隐藏空的行数据信息 saiku有个 非空的字段 按钮,点击这个后,会自动的把空的行数据信息给隐藏掉,这里我们来设置一下让其行数据不隐藏,为空的就为空. 主要更改两个文 ...
随机推荐
- svn 命令行使用总结
1.上传项目到SVN服务器上 svn import project_dir(本地项目全路径) http://192.168.1.242:8080/svn/IOS/Ben/remote_dir(svn项 ...
- ztree 获取CheckBox选中节点时,不获取选中上级父节点
//将第三个参数改为false,表示不去勾选父节点下的所有子节点 zTreeObj.checkNode(node, true, false); setting.check.chkboxType = { ...
- 真正解决iframe高度自适应问题
1.前言 解决iframe高度自适应问题有两种方法1.pym2.手动设置iframe的高度 本文主要是总结第二种实现方式,因为第一种pym.js插件我没用懂 如果使用iframe时,遇到以下的需求: ...
- ppt打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿
原因分析 主要是因为文件是网络下载的,office自动锁定了文件(默认不可编辑). 解决办法 在文件上右键-属性-解除锁定(最下面),就不会进行检查了,问题也就解决了. ppt文件---右键---属性 ...
- 同一个项目的同一DLL多版本的兼容问题
在做REST接口时,想要引入swagger,引入了最新的Swashbuckle.Net45-5.2.1版本,可是这个版本关联两个DLL(System.Web.Http.System.Net.Http. ...
- [每日一讲] Python系列:Python概述
Python 序章 概述 Python 是弱类型动态解释型的面向对象高级语言,其具备面向对象的三大特点:封装.继承.多态.Python 代码运行时,其有一个编译过程,通过编译器生成 .pyc 字节码 ...
- React Native 之导航栏
一定要参考官网: https://reactnavigation.org/docs/en/getting-started.html 代码来自慕课网:https://www.imooc.com/cour ...
- React使用的思考总结
1.事件处理中的this指针问题 在 react 中,用 class 声明一个组件,调用 class 中的方法时,如果该方法中有 this 且没有手动绑定 this 指针,则会发生 this 指向 u ...
- svn 服务器操作
mkdir /var/svn/svnrepos/aaasvnadmin create /var/svn/svnrepos/aaasvnserve -d -r /var/svn/svnrepos #启动 ...
- 【后台管理系统】—— Ant Design Pro组件使用(一)
一.搜索Search 搜索框 <Search placeholder="请输入关键字" defaultValue={kw && kw != 'nul ...