find()
用于检验字符串是否包含子字符串str,如果已经制定beg和end范围则将在指定范围内检验。
如果包含子字符串,返回开始的索引值,否则返回-1.
str.find(str, beg=0, end=len(string))
文件sweb.html保存了一个网页的源代码,其中,“href=”引导后面会有一个URL链接,例如:href=“http://news.sina.com.cn/feedback/post.html”,其中,有一种链接前后都有空格,且双引号内以“http://”开头。
请编写程序,解析这个文件,提取出现符合上述特征的URL链接,每个链接一行,保存到“text-urls.txt”文件中,格式如下:。。。
fi = open('sweb.html','r',encoding='utf-8')
fo = open("text-urls.txt","w", encoding="utf-8")
txt = fi.read()
ls = txt.split(" ") #因为前后都为空格
urls = []
for item in ls:
if item[:5] == "href=" and item[6:13] == "http://":
x = item.find(">",5) #判断href是否是最后一个属性,如果是则需要删掉>
if x == -1: #不是的情况
urls.append(item[6:-1])
else:
urls.append(item[6:x-len(item)-1]) #是的情况。 以上都要不包含引号
for item in urls:
fo.write(item+"\n")
fi.close()
fo.close()
恺撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,即循环左移3位,对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
基础中文字符的Unicode编码范围是[0x4e00,0x9fa5],共20902个字符。请以10451位循环移位数量,编写中文文本的类恺撒密码加解密方法。
原文字符P,其密文字符C满足如下条件:
C = ( P + 10451 ) mod 20902