栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python从入门到实践17章答案

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python从入门到实践17章答案

前言

这里是《Python从入门到实践》的练习答案,如果有错误或者可以改进的地方欢迎在评论区指正


一、17-1 其他语言

只需要将 language=python 改为 javascript Ruby 等即可:

import requests

# 执行API调用并储存响应
url = 'https://api.github.com/search/repositories?q=language:javascript&sort=stars'
headers = {'Accept': 'application/vnd.github.v3+json'}
r = requests.get(url, headers=headers)
print(f"Status code: {r.status_code}")
# 将API响应赋给一个变量
response_dict = r.json()
print(f"Total repositoies: {response_dict['total_count']}")

# 探索有关仓库的信息
repo_dicts = response_dict['items']
print(f"Repositories returned: {len(repo_dicts)}")

print("nSelected imformation about each repository:")
for repo_dict in repo_dicts:
    print(f"nName: {repo_dict['name']}")
    print(f"Owner: {repo_dict['owner']['login']}")
    print(f"Stars: {repo_dict['stargazers_count']}")


二、17-2最活跃的讨论

 

from operator import itemgetter

import requests
from plotly import offline

# Make an API call and store the response.
url = 'https://hacker-news.firebaseio.com/v0/topstories.json'
r = requests.get(url)
print(f"Status code: {r.status_code}")

# Process information about each submission.
submission_ids = r.json()
submission_dicts = []
for submission_id in submission_ids[:10]:
    # Make a separate API call for each submission.
    url = f"https://hacker-news.firebaseio.com/v0/item/{submission_id}.json"
    r = requests.get(url)
    # print(f"id: {submission_id}tstatus: {r.status_code}")
    response_dict = r.json()

    # Build a dictionary for each article.
    submission_dict = {
        'title': response_dict['title'],
        'hn_link': f"http://news.ycombinator.com/item?id={submission_id}",
        'comments': len(response_dict['kids']),
    }
    submission_dicts.append(submission_dict)

submission_dicts = sorted(submission_dicts, key=itemgetter('comments'),
                          reverse=True)

links, comments = [], []
for submission_dict in submission_dicts:
	sub_title = submission_dict['title']
	sub_url = submission_dict['hn_link']
	link = f"{sub_title}"
	links.append(link)
	comments.append(submission_dict['comments'])


# 可视化
data = [{
	'type':'bar',
	'x':links,
	'y':comments,
	'marker':{
			'color':'rgb(100,150,100)',
			'line':{'width':1.5,'color':'rgb(25,25,25)'}
	},
	'opacity':0.6,
}]

my_layout = {
	'title':'the most active hacker news',
	'titlefont':{'size':30},
	'xaxis':{
		'title':'Titles',
		'titlefont':{'size':24},
		'tickfont':{'size':14},
	},
	'yaxis':{
		'title':'Comments',
		'titlefont':{'size':24},
		'tickfont':{'size':14},
	}
}
fig = {'data':data,'layout':my_layout}
offline.plot(fig,filename='hn_sub.html')

三、测试python_repos.py

第三问我不会,所以我引用了  飞翔的大玉米  的答案

第三问答案在此


四、进一步探索

略

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025729.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号