python基础知识点(蓝桥杯python科目个人复习计划70)

继续打基础,爬虫部分随笔

第一题:特别数的和

题目描述:

小明对数位中含有2、0、1、9的数(不包含前导0)很感兴趣,在1到40中这样的数共有28个,它们的和是574。

请问在1到n中,这样的数的和是多少?

输入格式:

共一行,包含一个整数n

输出格式:

共一行,包含一个整数,表示符合条件的数的和。

python 复制代码
def check(n):
    while n > 0:
        tmpn = n % 10
        if tmpn == 2 or tmpn == 0 or tmpn == 1 or tmpn == 9:
            return True
        n //= 10
    return False
n = int(input())
ans = 0
for i in range(1,n + 1):
    if check(i):
        ans += i
print(ans)

今天只写一个题,灵感爆发,我想再续写一下爬虫的相关内容。

上次不是说到把得到的数据保存到数据库MySQL中嘛,这次我来写一下怎样将其可视化。

我自己的做法是将得到的数据保存为json格式,然后我要画出柱状图和词云图。以下是实现的代码。

python 复制代码
import json
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
from wordcloud import WordCloud
import jieba

with open('./maoer1.json', 'r', encoding='utf-8') as file:
    movies = [json.loads(line) for line in file]
df = pd.DataFrame(movies)

font_path = './NotoSerifSC-Black.ttf'
font_prop = FontProperties(fname=font_path)

plt.rcParams['font.family'] = font_prop.get_name()


plt.figure(figsize=(10, 6))
plt.barh(df['movie_name'], df['score'].astype(float), color='skyblue')
plt.xlabel('评分',fontproperties=font_prop)
plt.ylabel('电影名称',fontproperties=font_prop)
plt.title('电影评分柱状图',fontproperties=font_prop)

plt.yticks(fontproperties=font_prop)
plt.gca().invert_yaxis()
plt.show()


text = ' '.join(df['description'])
wordlist = jieba.cut(text, cut_all=False)
wl_space_split = " ".join(wordlist)

wordcloud = WordCloud(
    font_path=font_path,
    width=800,
    height=400,
    background_color='white'
).generate(wl_space_split)

plt.figure(figsize=(10, 6))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.title('电影描述词云',fontproperties=font_prop)
plt.show()

但是,我不知道为啥,每次我运行这个代码,首先出来的是柱状图,将其关闭后还要过一会儿才会出现词云图,我一直不理解。


那这篇就这样了,我会在下一篇详细地写出scrapy爬取豆瓣的流程,感兴趣的朋友可以看一看,顺便指出我的错误。

相关推荐
凯瑟琳.奥古斯特5 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
凯瑟琳.奥古斯特7 小时前
数据库原理选择题精选
数据库·python·职场和发展
秦明月1310 小时前
水冷板装配安全回路设计实战解析
经验分享·其他·职场和发展·创业创新·学习方法
x_xbx12 小时前
LeetCode:5. 最长回文子串
算法·leetcode·职场和发展
过期动态17 小时前
【LeetCode 热题 100】无重复字符的最长子串
java·数据结构·spring boot·算法·leetcode·职场和发展
Raink老师18 小时前
【AI面试临阵磨枪-088】Skill 如何做参数校验、依赖注入、权限控制、超时、重试、幂等?
人工智能·面试·职场和发展
浅念-18 小时前
LeetCode 记忆化搜索 刷题总结
数据结构·算法·leetcode·职场和发展·深度优先·dfs
bbaydnog18 小时前
嵌入式面试高频题第4弹:函数指针进阶、堆栈分析、Makefile入门,这3个答不上来就悬了
单片机·面试·职场和发展
jiayong2318 小时前
海量数据常见面试问题及详细解答
大数据·面试·职场和发展
我爱cope19 小时前
【Agent智能体12 | 反思设计模式-使用外部反馈】
人工智能·设计模式·语言模型·职场和发展