當前位置: 妍妍網 > 碼農

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]))