[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有个 非空的字段 按钮,点击这个后,会自动的把空的行数据信息给隐藏掉,这里我们来设置一下让其行数据不隐藏,为空的就为空. 主要更改两个文 ...
随机推荐
- Codeforces Round #567 (Div. 2)B. Split a Number (字符串,贪心)
B. Split a Number time limit per test2 seconds memory limit per test512 megabytes inputstandard inpu ...
- 2019长安大学ACM校赛网络同步赛C LaTale (树上DP)
链接:https://ac.nowcoder.com/acm/contest/897/C来源:牛客网 LaTale 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语 ...
- 2019长安大学ACM校赛网络同步赛 B Trial of Devil (递归)
链接:https://ac.nowcoder.com/acm/contest/897/B来源:牛客网 Trial of Devil 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32 ...
- codeforces 108D Basketball Team(简单组合)
D. Basketball Team time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Python核心技术与实战——七|自定义函数
我们前面用的代码都是比较简单的脚本,而实际工作中是没有人把整个一个功能从头写到尾按顺序堆到一块的.一个规范的值得借鉴的Python程序,除非代码量很少(10行20行左右)应该由多个函数组成,这样的代码 ...
- 组件的属性props
组件的属性props 是不能自己改的,一般是从外面传进来.在组件的视图中用,this.props.XXX 表示该组件的XXX 属性
- Element ui 中的表格数据格式转换
- Comet OJ - Contest #7 D 机器学习题 斜率优化 + 未调完
Code: #include <cstdio> #include <algorithm> #include <cstring> #define setIO(s) f ...
- Twice Equation
题目链接:https://nanti.jisuanke.com/t/A1541 题意:给你一个L,要你求一个不小于L的最小数字n,对于一个整数m,满足2*(m+1)*m=n*(n+1). 思路:打表找 ...
- 使用xshell远程连接Linux
Linux系统对于程序员来说并不陌生,对IT技术员来说是一个很好的开发平台,因此掌握Linux系统的操作对于一个程序员来说非常有用.而对于习惯使用windows的人来说直接在Linux系统下进行操作感 ...