今天搜索到了一个python编程学习的网页游戏,觉得蛮好玩的,也试试,在玩的时候,上网搜搜别人的解题方式,也蛮好的。
网址:http://www.pythonchallenge.com/
challenge 1
1、
import string
if __name__=='__main__':
s="g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."
trans=string.maketrans(string.ascii_lowercase,string.ascii_lowercase[2:]+string.ascii_lowercase[0:2]);
print (s.translate(trans))
print ('map'.translate(trans))
我觉得这个方法蛮好的
2、
import string
if __name__=='__main__':
s="g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."
trans=string.maketrans('abcdefghijklmnopqrstuvwxyz', 'cdefghijklmnopqrstuvwxyzab'');
print (s.translate(trans))
print ('map'.translate(trans))
这里学到了两个函数:
string.maketrans(intab,outtab) :映射。。。string.maketrans返回的是一个供translate使用的table,而这里的intab和outtab指的是输入输出2个string之间的转换关系。
translate(table [,deletechars]) :相当与翻译,利用string.maketrans()中制定的规则去执行。。。可以接受的第一个参数为table(maketrans提供),第二个参数为可选,指定要删除的字符串。
例子:
import string
s='abcdefg'
table=string.maketrans(‘’,‘’) :相当于没有映射,原样输出。注意:这里的“''”不是一个双引号,而是两个单引号组成的。
s.translate(talbe) :输出 abcdefg
如果table=string.maketrans('abc','ABC')
s.translate(talbe,efg) :输出为ABCd, efg已经删除了。