当前位置: 欣欣网 > 码农

9个实用python实例

2024-01-25码农

1. 猜数字游戏

import random# 生成一个 1 到 100 之间的随机整数answer = random.randint(1, 100)# 循环让用户猜数字whileTrue: guess = int(input("猜一个 1 到 100 之间的整数: "))# 判断用户猜的数字与答案的关系if guess < answer: print("小了")elif guess > answer: print("大了")else: print("恭喜你,猜对了!")break

2. 计算斐波那契数列

deffibonacci(n): fib_sequence = [0, 1]while len(fib_sequence) < n: fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])return fib_sequenceprint(fibonacci(20))

3. 发送电子邮件

import smtplibfrom email.message import EmailMessage#定义发件人、收件人、邮件主题和内容sender = "[email protected]"receivers = ["[email protected]"]subject = "这是一封测试邮件"content = "这是邮件的内容。"#创建一个 EmailMessage 对象message = EmailMessage()message.set_content(content)message["from"] = sendermessage["to"] = ", ".join(receivers)message["subject"] = subject#发送邮件with smtplib.SMTP("smtp.example.com", 587) as smtp: smtp.starttls() smtp.login("username", "password") smtp.send_message(message)

4. 生成二维码

import qrcode#定义要生成二维码的文本text = "这是一个二维码"#生成二维码qr_code = qrcode.make(text)#显示二维码qr_code.show()

5. 解析 HTML

from bs4 import BeautifulSouphtml_doc = """<html><head><title>The Dormouse's story</title></head><body><p class="story">从前有三个小姐姐,他们的名字是<a href="http://example.com/elsie" class="sister" id="link1">玲玲</a>,<a href="http://example.com/lacie" class="sister" id="link2">珂珂</a>和<a href="http://example.com/tillie" class="sister" id="link3">蒂尔莉</a>;他们住在井底下。</p></body></html>"""#创建 BeautifulSoup 对象soup = BeautifulSoup(html_doc, "html.parser")#提取所有的链接links = soup.find_all("a")#打印每个链接的文本和 URLfor link in links: print(link.text, "(", link["href"], ")")

6. 爬取网页

import requests#定义要爬取的网页的 URLurl = "https://www.example.com/"#发送 HTTP 请求并获取响应response = requests.get(url)#检查响应是否成功if response.status_code == 200:#打印网页的内容 print(response.text)

7. 计算两个数字的最大公约数

defgcd(a, b):while b!= 0: a, b = b, a % breturn aprint(gcd(48, 18))

8. 生成杨辉三角

defyang_hui_triangle(n): triangle = [[1]]for i in range(1, n): row = [1]for j in range(1, i): row.append(triangle[i-1][j-1] + triangle[i-1][j]) row.append(1) triangle.append(row)return triangleprint(yang_hui_triangle(10))

9. 实现冒泡排序算法

defbubble_sort(arr): n = len(arr)for i in range(n):for j in range(0, n-i-1):if arr[j] > arr[j+1] : arr[j], arr[j+1] = arr[j+1], arr[j]return arrprint(bubble_sort([64, 34, 25, 12, 22, 11, 90]))