python 两个值得学习的小例子

本文解析了两个Python编程挑战题目:一是判断字符串中是否存在指定长度的回文子串;二是实现字符串中字符按字母表顺序偏移特定数值的功能。通过简洁的代码展示了Python的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1.

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

a="abcbaasdjhkas"
n=5

def isRoud(s):          #判断回文
    s_other = s[::-1]
    if s == s_other:
        return True
    return False

def check(s,n):         #遍历判断
    for x in range(len(s)-n+1):
        if isRoud(s[x:x+n]):
            return True
    return False

if 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的简洁之处,值得学习






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值