计算机科学导论笔记哟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

提取连接

提取一个网址

page =('

'

'

')

#官方给的代码:

start_link = page.find('

end_quote=page.find('"',start_quote+1)#注意,此处如果是start_quote则返回值还是href=后的第一个

引号,和上一行的代码相同。结果就是url=”

url=page[start_quote+1:end_quote]

print url

#拓展

如果提取所有的网址呢?

start_link = page.find('

end_quote=page.find('"',start_quote+1)

url=page[start_quote+1:end_quote]

print url #第一个网址

page=page[end_quote:]

start_link = page.find('

end_quote=page.find('"',start_quote+1)

url=page[start_quote+1:end_quote]

print url #第二个网址

。。。。。。。

为了避免重复,需要一个定义一个过程(procedure)

定义过程的格式:def ():

return,...

def get_next_target(page)

start_link = page.find('

end_quote=page.find('"',start_quote+1)

url=page[start_quote+1:end_quote]

return (url,end_quote) #即蓝色的部分,print url page=page[end_quote:],因为page 还是之前的page ,只需要知道end_quote即可。

url,endpos=get_next_target #将过程返回去的两个参数url,end_quote,赋值给url和endpos(结束位置)def print_all_links(page):

While True:

url,endpos=get_next_target(page)

If url:

print url

esle:

Brek

style="width: 0px; height: 0px; display: none;">)

def get_page(url):

try:

import urllib

return urllib.urlopen(url).read()

except:

return ''

#get_page('https:///353/')

def print_all_links(page):

while True:

url,endpos=get_next_link(page)

if url :

print url

page=page[endpos:]

else:

break

print_all_links(get_page('https:///353/'))

def get_next_link(page):

start_link = page.find('

end_quote=page.find('"',start_quote+1)

url=page[start_quote+1:end_quote]

return url,end_quote

练习

查找’zip’在text中第二次出现的地方

text = "all zip files are zipped"

#方法一:引入变量

first_zip=text.find('zip')

print text.find('zip',first_zip+1)

#方法二直接输出

print text.find('zip',text.find('zip')+1)

练习:四舍五入

知识点:str()函数将数字转化为对应的字符串

将小数转化成最近的整数(如果小数第一位为5则进一位)

比如:3.14159->3 336.2345->337

x =383.89327

print str(x+0.5)[0:str(x+0.5).find('.')]

384

练习:文本替代

# Example 2 output should be:

#>>> The eruption of the volcano Eyjafjallajokull in 2010 disrupted air travel in Europe for 6 days. marker = "EY"