首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python实现凯撒密码、凯撒加解密算法

': main() 测试输入:Guet 预期输出:JXHW 测试输入:information security 预期输出:LQIRUPDWLRQ VHFXULWB 凯撒密码原理:根据输入加解密模式密钥对消息进行加解密...假设X,Y,a,b是Z52整数环中元素,ab为密钥,X是原文,Y是密文 加密函数:Y=(aX+b)%52 获取乘法逆元 通过扩展欧几里得算法求a乘法逆元 加密过程 加密函数:Y=(aX...(ord('A'),ord('Z')+1))) for i in range(len(list1)): list1.append(list2[i]) y=[] for i in range(len...=list(map(chr,range(ord('A'),ord('Z')+1))) for i in range(len(list1)): list1.append(list2[i]) x=[]...语言编程实现凯撒密码、凯撒加解密算法文章就介绍到这了,更多相关python凯撒密码 凯撒加解密算法内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Python列表推导式(多种样式列表推导式)

所谓推导式也就是Python中一种更有风格Python代码写法。什么样是风格呢?...Python中只有三种推导式,分别是列表推导式、字典推导式集合推导式。 列表推导式又叫做列表生成式。 作用:化简代码,用一个表达式创建一个规律列表或控制一个规律列表。...书写循环,一次追加数字到空列表list1中 i = 0 while i < 10:     list1.append(i)     i += 1 print(list1) # [0, 1, 2, 3,...if i % 2 == 0:         list2.append(i) print(list2) #[0, 2, 4, 6, 8] 2.3 方法三: 把方法二改写成 带if列表推导式 代码体验...循环实现列表推导式 需求:创建列表如下: [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)] 3.1 for循环嵌套实现 代码体验: # 数据1 是 12

54530

Python: list列表内置方法介绍

Python 中没有数组,但是加入了更加强大列表(list)。下面就对列表内置方法进行介绍。 通过dir(list)可以查看列表属性内置方法。...list1 = ['Python', 'C++', 'Java'] # 追加元素 list1.append('PHP') print(list1) #追加元组,整个元组被当成一个元素 t = ('JavaScript...extend() append() 不同之处在于:extend() 不会把列表或元组视为一个整体,而是把它们包含元素逐个添加到列表中。....clear() del list2[:] print("列表清空后list1: ", list1) print("列表清空后list2: ", list2) 列表清空后list1: [] 列表清空后...注意:list.copy()方法所遵循拷贝原理,是浅拷贝,也就是说,只拷贝父对象,不会拷贝对象内部子对象。关于深拷贝浅拷贝更多内容,参见文末延伸阅读[1]。

96520

python 基础

#列表是python最常用数据类型,它可以作为一个方括号内逗号分隔值出现 列表数据类型不需要相同类型 创建一个列表,只有在方括号([])以逗号(,)分割开即可,不需要相同数据类型 列表表示方式...list1=['gao_wang','li_bin',1992,1990] list2=[1,2,3,4,5,6] list3=["a","b","c","d","e"] 访问列表中值 1:list1...] list1.append(2010) print(list1) 输出结果 ['gao_wang', 'li_bin', 1992, 1990, 2010] 删除列表 del list(索引) list.remove...] list2=[1,2,3,4,5,6] list3=[list1,list2] print(list3) print(list3[0][1]) 列表中函数 list1.append('1992')...#在列表末尾添加一个新值 print(list1.count(1992))#统计值在列表中出现次数 list1.extend(list2)#拓展列表 print(list1.index('li_bin

26010

这么多年,总算搞清楚了 Python 参数是如何传递

常见参数传递方式 在编程语言C或C++中,常见参数传递 2 种: 值传递 引用传递 值传递,通常就是拷贝参数值,然后传递给函数里新变量。这样,原变量新变量之间互相独立,互不影响。...: 1 list1 = [1, 3, 5] 2 list2 = list1 3 list1.append(7) Output: print(list1) [1, 3, 5, 7] print(list2...[1, 3, 5] 这个对象; 第3行代码:最后执行list1.append(7),由于列表是可变,所以 list1.append(7) 不会创建新列表,只是在原列表末尾插入了元素 7,变成 [...1, 3, 5, 7]; 因为 list1 list2 同时指向这个列表,所以列表变化会同时反映在 list1 list2 这两个变量上,因此 list1 list2 值就同时变为了[1...(list1) 7 print(list1) 8 [1, 3, 5, 7] 函数 test_func3() test_func5() 用法,两者虽然写法不同,但实现功能一致。

53340

python内存管理与垃圾回收

垃圾回收 Python采用是引用计数机制为主,标记-清理分代收集两种机制为辅策略。...例如: list1 = [0] list2 = [1] list1.append(list2) list2.append(list1) 由于python中对象都是引用赋值,因此list1中包含它本身,list2...关于标记-清除更多信息参考:https://zhuanlan.zhihu.com/p/51095294 分代回收 对标记清除中链表进行优化,将那些可能存在引用对象拆分到3个链表,链表称为:0/1.../2三代,每代都可以存储对象阈值,当达到阈值时,就会对相应链表中每个对象做一次扫描,除循环引用各自减1并且销毁引用计数器为0对象。...缓存机制 实际上,并不是当引用计数为0时候,就立即回收内存。因为这样将会导致python频繁mallocfree,导致程序执行效率下降。

46420

Python_列表

列表 列表是python最常用数据类型,它可以作为一个方括号内逗号分隔值出现 列表数据类型不需要相同类型 创建一个列表,只有在方括号([])以逗号(,)分割开即可,不需要相同数据类型 列表表示方式...list1=['gao_wang','li_bin',1992,1990] list2=[1,2,3,4,5,6] list3=["a","b","c","d","e"] 访问列表中值 1:list1...] list1.append(2010) print(list1) 输出结果 ['gao_wang', 'li_bin', 1992, 1990, 2010] 删除列表 del list(索引) list.remove...1992,1990] list2=[1,2,3,4,5,6] list3=[list1,list2] print(list3) print(list3[0][1]) 列表中函数 #list1.append...('1992')#在列表末尾添加一个新值 #print(list1.count(1992))#统计值在列表中出现次数 #list1.extend(list2)#拓展列表 #print(list1.index

40110

Python列表(list)及其常用方法

用[ ]来表示列表类型,数据项之间用逗号来分割,列表中数据项可以是任何类型(Python特点),数据项可以变化,内存地址不会改变。支持索引切片进行操作。...1、列表中常用到方法: 定义一个列表: list1 = [ 1,2,3,”你好”] 列表获取:主要用切片方法。 (1)print(len(list1)):获取列表对象数据个数。...(7)print(list1*3): 三次输出完整列表。 列表追加: (8)list1.append([“aaa”, “bbbb”]): 在该列表中增加一个列表。...# list1 = [ 1,2,3,”你好” ,[“aaa”, “bbbb”] ] (9)list1.append([8888]) :在该列表中增加一个元素。...强制转换为列表list类型: (11)list2 = list(range(10)) : list2 = [0,1,2,3,4,5,6,7,8,9] 拓展: (12)list1.extend(list2

34920

python深拷贝浅拷贝详解_Java浅拷贝深拷贝区别

文章目录 1、Python 深拷贝浅拷贝概念理解 2、浅拷贝 2.1 使用数据类型本身构造器 2.2 对于列表 2.3 使用 copy.copy() 函数 2.4 对于元组 2.5 关于切片操作符...‘:’ 2.6 赋值区别 2.7 浅拷贝需注意问题 2、深拷贝 1、Python 深拷贝浅拷贝概念理解 浅拷贝,指的是重新分配一块内存,创建一个新对象,但里面的元素是原对象中各个子对象引用...False 分析: 浅拷贝,为新变量重新分配一块内存,原来变量内存不一样,所以 list1 is list2 ? False set1 is set2 ?...] list2 = copy.deepcopy(list1) list1.append(100) print("list1:",list1) print("list2:",list2) list1[0]...如发现本站涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

46430

python 列表List

; 3.列表是一个有序集合,下标索引默认重 0 开始,字符串类似; ?...(list3)) list4 = [0,"hello",True] #定义一个不同数据类型列表赋值给list4 print("list4 : {0}" .format(list4)) 输出结果:...示例代码如下: list1 = list() #定义一个空列表 print("list1 : ",list1) list1.append("hello") # 在列表list末尾添加字符串 'hello...', True] 二.列表List删除数据 列表中数据从左到右,索引值默认重0 开始以此递增,字符串索引值类似,删除使用 del 关键字,直接列表List时根据数据对应索引值直接删除即可,代码如下...五.列表List截取 列表List截取字符串操作类似,直接根据List下标索引值操作即可,演示代码如下: list1 = ["猿",True,"python",5.5,"hello",20,"list

88511

Python基础(十五):推导式讲解

​推导式讲解一、列表推导式作用:用⼀个表达式创建⼀个规律列表或控制⼀个规律列表。 列表推导式⼜叫列表⽣成式。1、快速体验需求:创建⼀个0-10列表。 while循环实现# 1....书写循环,依次追加数字到空列表list1中i = 0while i < 10: list1.append(i) i += 1print(list1)for循环实现list1 = []for...i in range(10): list1.append(i)print(list1)列表推导式实现list1 = [i for i in range(10)]print(list1)2、带if列表推导式需求...i in range(1, 3) for j in range(3)]print(list1)二、字典推导式思考:如果有如下两个列表:list1 = ['name', 'age', 'gender']list2...= ['Tom', 20, 'man']dict1 = {list1[i]: list2[i] for i in range(len(list1))}print(dict1)1.3、提取字典中目标数据

41171

python浅拷贝深拷贝

python赋值是按引用来传递,如果不是赋值而是拷贝,那就需要用到copy模块了,这就不得不谈浅拷贝深拷贝了。 浅拷贝copy() #!...浅拷贝深拷贝都是为后续操作而区分。...import copy  list1 = ['a','b','c',['d','e']] list2 = copy.copy(list1) list3 = copy.deepcopy(list1)  list1...但是追加了x以后显示出来了,因为x属于list1第三个元素一部分,在list2对应指向,所以就显示出来了。...对于深拷贝来说没有任何改变,因为深拷贝是新建一个列表,把原列表内容原封不动拷过来,拷过来以后它原列表一模一样,至于原列表后来做了什么改变根本不关它事。形象理解就是浅拷贝是活,深拷贝是死

41640

python垃圾回收机制

Python GC主要使用引用计数(reference counting)来跟踪回收垃圾。...当一个对象引用时,它ob_refcnt就会增加,当引用它对象被删除,它ob_refcnt就会减少.引用计数为0时,该对象生命就结束了。...= [] list1.append(list2) list2.append(list1) list1与list2相互引用,如果不存在其他对象对它们引用,list1与list2引用计数也仍然为1,所占用内存永远无法被回收...变量代码产生别的引用对象其他值。标记出当前程序任在使用这些指针引用每个对象。...分代技术 分代回收整体思想是:将系统中所有内存块根据其存活时间划分为不同集合,每个集合就成为一个“代”,垃圾收集频率随着“代”存活时间增大而减小,存活时间通常利用经过几次垃圾回收来度量。

38910

13.python 列表List

数据类型可以不相同也可以相同; 2.列表中数据需要写在[]中括号内部,数据与数据之间用逗号隔开; 3.列表是一个有序集合,下标索引默认重 0 开始,字符串类似; ?...(list3)) list4 = [0,"hello",True] #定义一个不同数据类型列表赋值给list4 print("list4 : {0}" .format(list4)) 输出结果:...' list1.append(True) # 在列表list末尾添加布尔值 True print("list1 : ",list1) 输出结果: list1 : [] list1 : ['...hello', True] 二.列表List删除数据 列表中数据从左到右,索引值默认重0 开始以此递增,字符串索引值类似,删除使用 del 关键字,直接列表List时根据数据对应索引值直接删除即可...五.列表List截取 列表List截取字符串操作类似,直接根据List下标索引值操作即可,演示代码如下: list1 = ["猿",True,"python",5.5,"hello",20,"list

63630
领券