📜  progetti principianti python (1)

📅  最后修改于: 2023-12-03 15:03:52.385000             🧑  作者: Mango

介绍Python初学者可以实践的项目

Python是一门广泛应用于开发Web,科学计算,人工智能等领域的高级编程语言。对于初学者,下面是一些可供实践的项目,帮助您提高编程技能和理解Python编程的基础知识。

1. 爬取图片

通过Python编写一个爬虫程序,爬取网站上的图片。

实现步骤:

  1. 使用Python的requests库获取网页源代码。
  2. 使用bs4库解析网页,获取所有的图片链接。
  3. 使用requests库下载图片。
import os
import requests
from bs4 import BeautifulSoup


def download_img(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    img_tags = soup.find_all('img')
    for img in img_tags:
        img_url = img.get('src')
        if img_url.startswith('http'):
            img_name = os.path.basename(img_url)
            with open(img_name, 'wb') as f:
                f.write(requests.get(img_url).content)
            print(f'Downloading {img_name} ... Done')


if __name__ == '__main__':
    download_img('https://www.example.com')
2. 制作计算器

使用Python编写一个控制台程序,实现基本的数学计算器功能,例如加减乘除运算。

实现步骤:

  1. 使用Python的input函数接收输入表达式。
  2. 使用正则表达式对输入表达式进行预处理,如将输入的字符串转化为可以直接进行计算的表达式。
  3. 计算表达式的值并输出。
import re


def calc(expression):
    expression_list = re.findall(r'\d+\.?\d*|\+|\-|\*|\/', expression)
    stack = []
    for op in expression_list:
        if op in '+-*/':
            a, b = stack.pop(), stack.pop()
            stack.append(str(eval(b + op + a)))
        else:
            stack.append(op)
    return stack.pop()


if __name__ == '__main__':
    expression = input('Please input a math expression:')
    result = calc(expression)
    print(f'{expression} = {result}')
3. 简单的爬虫

使用Python编写一个爬虫程序,爬取指定网站的文章内容,并将其保存到文本文件中。

实现步骤:

  1. 使用Python的requests库获取网页源代码。
  2. 使用bs4库解析网页,获取文章链接和标题。
  3. 访问文章链接,获取文章内容。
  4. 将文章内容保存到本地文件中。
import requests
from bs4 import BeautifulSoup


def get_content(base_url, url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    title = soup.title.string
    content_tags = soup.find_all('div', {'class': 'content'})
    content = ''
    for tag in content_tags:
        content += tag.text
    with open(f'{title}.txt', 'w', encoding='utf-8') as f:
        f.write(content)


def get_links(base_url):
    response = requests.get(base_url)
    soup = BeautifulSoup(response.text, 'html.parser')
    a_tags = soup.find_all('a')
    for tag in a_tags:
        if tag.has_attr('href') and tag['href'].startswith('https://www.example.com/article/'):
            get_content(base_url, tag['href'])


if __name__ == '__main__':
    base_url = 'https://www.example.com'
    get_links(base_url)
4. 游戏开发

使用Python的pygame库,开发一个简单的游戏。

实现步骤:

  1. 使用pygame库创建游戏窗口。
  2. 使用pygame库加载游戏素材。
  3. 编写游戏主循环,处理游戏逻辑和绘制画面。
import pygame


def main():
    # 初始化
    pygame.init()
    # 创建游戏窗口
    screen = pygame.display.set_mode((480, 640))
    # 设置窗口标题
    pygame.display.set_caption('Python 游戏开发')
    # 加载背景图
    bg_image = pygame.image.load('background.jpg')
    # 加载飞机图
    plane_image = pygame.image.load('plane.png')
    # 获取飞机图的位置和大小
    plane_rect = plane_image.get_rect()
    plane_rect.x = 200
    plane_rect.y = 500
    # 创建时钟对象
    clock = pygame.time.Clock()

    while True:
        # 事件处理
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()
        # 绘制背景图
        screen.blit(bg_image, (0, 0))
        # 绘制飞机图
        screen.blit(plane_image, plane_rect)
        # 处理键盘输入
        keys = pygame.key.get_pressed()
        if keys[pygame.K_LEFT]:
            plane_rect.x -= 5
        if keys[pygame.K_RIGHT]:
            plane_rect.x += 5
        if keys[pygame.K_UP]:
            plane_rect.y -= 5
        if keys[pygame.K_DOWN]:
            plane_rect.y += 5
        # 限制飞机图的活动范围
        if plane_rect.left < 0:
            plane_rect.left = 0
        if plane_rect.right > 480:
            plane_rect.right = 480
        if plane_rect.top < 0:
            plane_rect.top = 0
        if plane_rect.bottom > 640:
            plane_rect.bottom = 640
        # 刷新屏幕
        pygame.display.flip()
        # 控制帧率
        clock.tick(60)


if __name__ == '__main__':
    main()
结语

Python是一门非常强大和有趣的语言,以上仅是其中的几个实践项目,欢迎各位尝试更多不同的项目和实现方法。