[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有个 非空的字段 按钮,点击这个后,会自动的把空的行数据信息给隐藏掉,这里我们来设置一下让其行数据不隐藏,为空的就为空. 主要更改两个文 ...
随机推荐
- SpringCloude学习脑图
SpringCloude学习脑图 http://naotu.baidu.com/file/3e619862813ac331c5d9806486771b42?token=1a7206b777280c6b
- 基于VSFTP的本地YUM源及光盘YUM源搭建
基于VSFTP的本地YUM源及光盘YUM源搭建 一.yum环境的本地源搭建(基于VSFTP): 1)安装vsftp; *********************************** ...
- 【leetcode】522. Longest Uncommon Subsequence II
题目如下: 解题思路:因为given list长度最多是50,我的解法就比较随意了,直接用一个嵌套的循环,判断数组中每个元素是否是其他的subsequence,最后找出不属于任何元素subsequen ...
- 进行移动端rem适配
(function (designWidth, maxWidth) { var doc = document, win = window; var docEl = doc.documentElemen ...
- springboot创建拦截器
一.创建一个MyIntercepor实现HandlerInterceptor接口的类 二.创建一个WebMvcConfig实现WebMvcConfigurer的类 ...
- java如何实现多继承
在java中,原则上是不允许多继承的,也就是类与类之间只可以单继承.那么,有没有办法,可以在不使用接口的情况下实现多继承呢? 答案是可以.使用内部类就可以多继承,严格来说,还不是实现多继承,但是这种 ...
- maven整合eclise
-Dmaven.multiModuleProjectDirectory=$M2_HOME
- HDU 1298 T9 ( 字典树 )
题意 : 给你 w 个单词以及他们的频率,现在给出模拟 9 键打字的一串数字,要你在其模拟打字的过程中给出不同长度的提示词,出现的提示词应当是之前频率最高的,当然提示词不需要完整的,也可以是 w 个单 ...
- Codeforces Round #603 (Div. 2) E. Editor
E. Editor 题目链接: https://codeforces.com/contest/1263/problem/E 题目大意: 输入一个字符串S1含有‘(’ , ‘)’ , ‘R’ , ‘L’ ...
- Spring MVC Captcha 验证码
本文专为不想一遍遍手写验证码代码的”懒猿“而生,只需要添加部分配置文件,拷贝一个控制层代码,就能在页面中方便使用.话不多说,进入主题: 一. Spring MVC 环境实现方式: 1.1 spring ...