python 两个值得学习的小例子

来源:互联网 发布:压力容器设计 知乎 编辑:程序博客网 时间:2024/05/12 12:10

这两个问题都是在http://www.pythontip.com中做pythin挑战时碰到的,觉得很不错

1.

给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。回文串的定义:记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".

a="abcbaasdjhkas"n=5def isRoud(s):          #判断回文    s_other = s[::-1]    if s == s_other:        return True    return Falsedef check(s,n):         #遍历判断    for x in range(len(s)-n+1):        if isRoud(s[x:x+n]):            return True    return Falseif check(a,n):    print 'YES'else:    print 'NO'



2.

给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。例如a="cagy",b=3, 则输出 fdjb
print ''.join([chr(97+(ord(c)+b-97)%26) for c in a])
这里抄习一下,自己原本写了比较复杂的函数,还是各种报错,人家一句话就搞定了,果然领略到python的简洁之处,值得学习






0 0
原创粉丝点击