#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/10/29 18:08
# @Author : 薛豪
# @File : rot13.py
import string
result=[]
upperCase=string.ascii_uppercase
lowerCase=string.ascii_lowercase
upperDict={}
lowerDict={}
print("欢迎来到rot13加密解密界面")
inputStr=input("请输入你要加密或解密的字符串")
while True:
print("请确认%s是否为你想要输入的字符串,如果正确请输入y,否则输入n"%(inputStr))
flag=input("请输入你的确认结果")
if (flag=='y') or (flag=='Y'):
break
if (flag=='n') or (flag=='N'):
inputStr=input("请重新输入你要加密或解密的字符串")
else:
print("确认方式不合理")
break
for i in range(0,len(upperCase)):
if i<13:
upperDict[upperCase[i]]=upperCase[i+13]
else:
upperDict[upperCase[i]]=upperCase[i-13]
for i in range(0,len(lowerCase)):
if i<13:
lowerDict[lowerCase[i]]=lowerCase[i+13]
else:
lowerDict[lowerCase[i]]=lowerCase[i-13]
for ch in inputStr:
if ch in lowerDict:
result.append(lowerDict[ch])
elif ch in upperDict:
result.append(upperDict[ch])
else:
result.append(ch)
result=''.join(result)
print("最终加密结果为%s"%(result))
问题1 操作符in在字典与数组中的区别
答:
1.1字典中
描述: Python 字典 in 操作符用于判断键(key)是否存在于字典(D)中,如果键在字典中返回True,否则返回False。
语法:
key in D
参数:key -- 要在字典中查找的键。
返回值:如果键在字典里返回True,否则返回False。
实例:
#以下实例展示了 in 操作符 在字典中的使用方法:
#!/usr/bin/python3
D = {'Name': 'Runoob', 'Age': 7}
# 检测键 Age 是否存在
if 'Age' in D:
print("键 Age 存在") #键值Age存在
else :
print("键 Age 不存在")
# 检测键 Sex 是否存在
if 'Sex' in D:
print("键 Sex 存在")
else :
print("键 Sex 不存在") #键Sex不存在
1.2列表中
在列表中in检查的是列表值,与字典不一样
问题2 join函数
答:
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
join()方法语法:
str.join(sequence)
参数
- sequence -- 要连接的元素序列。
返回值
返回通过指定字符连接序列中元素后生成的新字符串。
实例
以下实例展示了join()的使用方法:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );#a-b-c
记忆小方法:
str.join(元组、列表、字典、字符串) 之后生成的只能是字符串。
所以很多地方很多时候生成了元组、列表、字典后,可以用 join() 来转化为字符串。
list=['1','2','3','4','5']
print(''.join(list))
结果:12345
seq = {'hello':'nihao','good':2,'boy':3,'doiido':4}
print('-'.join(seq)) #字典只对键进行连接
结果:hello-good-boy-doiido
问题3 append函数
答:
append() 方法用于在列表末尾添加新的对象。
语法
append()方法语法:
list.append(obj)
参数
- obj -- 添加到列表末尾的对象。
返回值
该方法无返回值,但是会修改原来的列表。
实例
以下实例展示了 append()函数的使用方法:
#!/usr/bin/python
aList = [123, 'xyz', 'zara', 'abc']
aList.append( 2009 )
print "Updated List : ", aList;、
以上实例输出结果如下:
Updated List : [123, 'xyz', 'zara', 'abc', 2009]
-
定义了两个函数一个用了extend()方法,一个用了append()方法
#!/usr/bin/python # -*- coding: UTF-8 -*- def changeextend(str): "print string with extend" mylist.extend([40,50,60]); print "print string mylist:",mylist return def changeappend(str): "print string with append" mylist.append( [7,8,9] ) print "print string mylist:",mylist return mylist = [10,20,30] changeextend( mylist ); print "print extend mylist:", mylist changeappend( mylist ); print "print append mylist:", mylist
输出结果:
- print string mylist: [10, 20, 30, 40, 50, 60]
- print extend mylist: [10, 20, 30, 40, 50, 60]
- print string mylist: [10, 20, 30, 40, 50, 60, [7, 8, 9]]
- print append mylist: [10, 20, 30, 40, 50, 60, [7, 8, 9]]
通过比较可知:
- 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
- append() 方法向列表的尾部添加一个新的元素,可以是任意类型。
- 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。
extend()
方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。