即使你是零基礎(chǔ)的小白,也不用擔(dān)心,我會用最通俗易懂的語言和生活中的例子來解釋,讓你輕松掌握。1. Hello, World!:編程世界的敲門磚 每個程序員的第一個程序幾乎都是“Hello, World!”,它象征著你正式踏入了編程的世界。就像學(xué)習(xí)任何一門外語,第一句話都是“你好”一樣,這是開啟新征程的第一步。 # Hello, World! 程序 print('Hello, World!')
這段代碼非常簡單,print()函數(shù)的作用就是在屏幕上顯示括號里的內(nèi)容。就像你在微信上發(fā)送消息一樣,你輸入的內(nèi)容會顯示在對方的屏幕上。 2. 簡易計算器:讓Python幫你算算數(shù) 生活中我們經(jīng)常需要進行一些簡單的計算,Python可以輕松地扮演計算器的角色。 # 簡易計算器 num1 = float(input('請輸入第一個數(shù)字:')) # 獲取用戶輸入的第一個數(shù)字并轉(zhuǎn)換為浮點數(shù) num2 = float(input('請輸入第二個數(shù)字:')) # 獲取用戶輸入的第二個數(shù)字并轉(zhuǎn)換為浮點數(shù) operator = input('請輸入運算符( 、-、*、/):') # 獲取用戶輸入的運算符
if operator == ' ': result = num1 num2 elif operator == '-': result = num1 - num2 elif operator == '*': result = num1 * num2 elif operator == '/': if num2 == 0: # 處理除數(shù)為0的情況 print('除數(shù)不能為0') else: result = num1 / num2 else: print('無效的運算符')
if 'result' in locals(): # 檢查result變量是否存在,避免未定義錯誤 print('結(jié)果:', result)
這個簡易計算器可以進行加減乘除運算。input()函數(shù)用于獲取用戶的輸入,就像你在ATM機上輸入密碼一樣。if-elif-else語句用于判斷不同的運算符,就像你在選擇外賣平臺上的不同菜品一樣。 3. 猜數(shù)字:和Python玩?zhèn)€游戲 讓我們來玩一個猜數(shù)字的游戲,讓Python隨機生成一個數(shù)字,你來猜猜看。 # 猜數(shù)字游戲 import random
number = random.randint(1, 100) # 生成1到100之間的隨機整數(shù) guess = 0 while guess != number: guess = int(input('猜一個1到100之間的數(shù)字:')) if guess < number: print('太小了,再試試!') elif guess > number: print('太大了,再試試!') else: print('恭喜你,猜對了!')
random.randint(1, 100)會生成一個1到100之間的隨機整數(shù),就像抽獎一樣,你不知道會抽到哪個數(shù)字。while循環(huán)會一直運行,直到你猜對為止,就像玩游戲一樣,直到你通關(guān)為止。 4. 石頭剪刀布:經(jīng)典游戲Python版 石頭剪刀布,這個經(jīng)典的游戲也可以用Python來實現(xiàn)。 # 石頭剪刀布游戲 import random
choices = ['石頭', '剪刀', '布'] computer_choice = random.choice(choices) # 計算機隨機選擇 user_choice = input('請輸入你的選擇(石頭、剪刀、布):')
print('你的選擇:', user_choice) print('計算機的選擇:', computer_choice)
# 判斷勝負(fù) # ...
這里使用了random.choice()函數(shù),讓計算機從列表中隨機選擇一個選項,就像你讓朋友幫你隨機選擇一個餐廳一樣。 5. 待辦事項列表:讓Python幫你管理任務(wù) 待辦事項列表可以幫助你更好地管理你的任務(wù)。 # 待辦事項列表 todo_list = [] while True: action = input('請輸入操作(添加、查看、退出):') if action == '添加': item = input('請輸入待辦事項:') todo_list.append(item) elif action == '查看': for item in todo_list: print(item) elif action == '退出': break else: print('無效的操作')
6. 基礎(chǔ)網(wǎng)頁抓取器:獲取網(wǎng)絡(luò)信息 想象一下,你想要收集某個網(wǎng)站上的所有商品價格,或者你想自動下載一些圖片,這時候就需要用到網(wǎng)頁抓取器。 # 基礎(chǔ)網(wǎng)頁抓取器 import requests from bs4 import BeautifulSoup
url = 'https://www.' # 將此替換為你想要抓取的網(wǎng)站 response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser')
# 提取標(biāo)題 title = soup.title.string print('網(wǎng)頁標(biāo)題:', title)
# 提取所有鏈接 links = soup.find_all('a') for link in links: print(link.get('href'))
# 需要安裝requests和beautifulsoup4庫: pip install requests beautifulsoup4
這個腳本使用了requests庫來獲取網(wǎng)頁內(nèi)容,就像你在瀏覽器中輸入網(wǎng)址訪問網(wǎng)頁一樣。BeautifulSoup庫則像一個過濾器,幫助你從雜亂的網(wǎng)頁代碼中提取你需要的信息,就像你從一堆文件中找到你想要的那一份一樣。 7. 天氣應(yīng)用:實時掌握天氣信息 想知道今天的天氣怎么樣?Python可以幫你實現(xiàn)一個簡單的天氣應(yīng)用。 # 天氣應(yīng)用 (簡化示例,需要使用天氣API) import requests
city = input('請輸入城市名稱:') api_key = 'YOUR_API_KEY' # 替換為你的API密鑰 url = f'http://api./v1/current.json?key={api_key}&q={city}' # 示例API,請?zhí)鎿Q為實際可用的天氣API
response = requests.get(url) weather_data = response.json()
if 'current' in weather_data: temperature = weather_data['current']['temp_c'] condition = weather_data['current']['condition']['text'] print(f'{city} 當(dāng)前溫度:{temperature}℃,天氣狀況:{condition}') else: print('獲取天氣信息失敗')
# 需要安裝requests庫: pip install requests # 需要獲取天氣API密鑰并替換示例中的YOUR_API_KEY
這個簡化的例子使用了天氣API來獲取天氣數(shù)據(jù),就像你打電話給氣象臺詢問天氣一樣。你需要注冊一個天氣API并獲取API密鑰才能使用。 8. 瘋狂填詞游戲生成器:發(fā)揮你的創(chuàng)意 想玩一個填詞游戲?Python可以幫你生成游戲模板。 # 瘋狂填詞游戲生成器 import random
words = ['apple', 'banana', 'orange'] # 詞語列表 template = '我喜歡吃____,也喜歡吃____,但更喜歡吃____。'
blanks = template.count('____') selected_words = random.sample(words, blanks)
for word in selected_words: template = template.replace('____', word, 1)
print(template)
這個腳本隨機選擇一些單詞填入模板中,就像你玩填字游戲一樣,你需要選擇合適的詞語填入空格。 9. 斐波那契數(shù)列:探索數(shù)學(xué)之美 斐波那契數(shù)列是一個經(jīng)典的數(shù)學(xué)數(shù)列,每一項都是前兩項的和。 # 斐波那契數(shù)列 def fibonacci(n): if n <= 1: return n else: return fibonacci(n-1) fibonacci(n-2)
n = int(input('請輸入要計算的斐波那契數(shù)列項數(shù):')) result = fibonacci(n) print(f'第{n}項斐波那契數(shù)是:{result}')
這個腳本使用了遞歸函數(shù)來計算斐波那契數(shù)列,就像你一步一步爬樓梯一樣,每一步都依賴于前兩步。 10. 密碼生成器:守護你的賬戶安全 一個強密碼是網(wǎng)絡(luò)安全的第一道防線。Python可以幫助你生成隨機的、難以破解的密碼。 # 密碼生成器 import random import string
def generate_password(length=12): characters = string.ascii_letters string.digits string.punctuation password = ''.join(random.choice(characters) for i in range(length)) return password
password = generate_password() print('生成的密碼:', password)
# 可以根據(jù)需要調(diào)整length參數(shù)來控制密碼長度
這個腳本就像一個密碼鎖,它使用字母、數(shù)字和符號的組合生成隨機密碼,增加密碼的復(fù)雜度,就像用不同的鎖芯組合成一個更安全的鎖一樣. 11. 吊死鬼游戲:挑戰(zhàn)你的詞匯量 吊死鬼游戲是一個經(jīng)典的猜詞游戲。 # 吊死鬼游戲 (簡化版) word = 'apple' guesses = [] max_attempts = 6
while max_attempts > 0: masked_word = '' for letter in word: if letter in guesses: masked_word = letter else: masked_word = '_' print(masked_word)
if masked_word == word: print('恭喜你,你贏了!') break
guess = input('猜一個字母:') guesses.append(guess)
if guess not in word: max_attempts -= 1 print('猜錯了,你還有', max_attempts, '次機會')
if max_attempts == 0: print('你輸了,單詞是:', word)
就像猜謎語一樣,你根據(jù)提示逐步猜測單詞,每次猜錯都
會減少你的機會。 12. 質(zhì)數(shù)檢查器:探索數(shù)學(xué)奧秘 質(zhì)數(shù)是只能被1和自身整除的數(shù)。 # 質(zhì)數(shù)檢查器 def is_prime(num): if num <= 1: return False for i in range(2, int(num**0.5) 1): if num % i == 0: return False return True
num = int(input('請輸入一個數(shù)字:')) if is_prime(num): print(num, '是質(zhì)數(shù)') else: print(num, '不是質(zhì)數(shù)')
就像篩子一樣,這個腳本會檢查一個數(shù)字是否能被其他數(shù)字整除,如果不是,則它是質(zhì)數(shù)。 13. 貨幣轉(zhuǎn)換器:方便你的旅行 旅行時,你需要將貨幣轉(zhuǎn)換為當(dāng)?shù)刎泿拧?/span> # 貨幣轉(zhuǎn)換器 (簡化示例,需要使用匯率API)
# 需要安裝requests庫: pip install requests # 需要獲取匯率API密鑰并替換示例中的YOUR_API_KEY
import requests
def convert_currency(amount, from_currency, to_currency): api_key = 'YOUR_API_KEY' # 替換為你的API密鑰 url = f'https://api./v4/latest/{from_currency}' # 示例API,請?zhí)鎿Q為實際可用的匯率API
response = requests.get(url) data = response.json()
if 'rates' in data and to_currency in data['rates']: rate = data['rates'][to_currency] converted_amount = amount * rate return converted_amount else: return None
amount = float(input('請輸入金額:')) from_currency = input('請輸入原始貨幣(例如 USD):').upper() to_currency = input('請輸入目標(biāo)貨幣(例如 CNY):').upper()
converted_amount = convert_currency(amount, from_currency, to_currency)
if converted_amount: print(f'{amount} {from_currency} 等于 {converted_amount} {to_currency}') else: print('無法轉(zhuǎn)換貨幣')
這個簡化的例子使用匯率API來獲取最新的匯率信息,就像你在銀行兌換貨幣一樣。 14. BMI計算器:關(guān)注你的健康 BMI是衡量體重是否健康的一個指標(biāo)。 # BMI計算器 height = float(input('請輸入身高(米):')) weight = float(input('請輸入體重(公斤):'))
bmi = weight / (height ** 2) print('你的BMI是:', bmi)
就像用尺子測量身高一樣,這個腳本根據(jù)你的身高和體重計算你的BMI。 15. 定時發(fā)送郵件: 這個腳本可以定時自動發(fā)送郵件。例如,你可以用它來定時發(fā)送生日祝福、提醒事項,或者發(fā)送定期報告等。 它使用了smtplib庫來發(fā)送郵件,schedule庫來定時執(zhí)行任務(wù)。 import smtplib # 用于發(fā)送郵件 from email.mime.text import MIMEText # 構(gòu)建郵件內(nèi)容 import schedule # 定時任務(wù)庫 import time # 時間庫
def send_email(): '''發(fā)送郵件的函數(shù)''' msg_from = '你的郵箱地址' # 替換為你的郵箱地址 passwd = '你的郵箱密碼' # 替換為你的郵箱密碼 (注意:為了安全,建議不要直接將密碼寫在代碼中,可以使用環(huán)境變量等方式) msg_to = '接收方郵箱地址' # 替換為接收方郵箱地址
subject = '定時郵件測試' # 郵件主題 content = '這是一封定時發(fā)送的郵件。' # 郵件內(nèi)容 msg = MIMEText(content) # 創(chuàng)建郵件對象 msg['Subject'] = subject # 設(shè)置郵件主題 msg['From'] = msg_from # 設(shè)置發(fā)送方 msg['To'] = msg_to # 設(shè)置接收方
try: s = smtplib.SMTP_SSL('smtp.qq.com', 465) # 連接到QQ郵箱的SMTP服務(wù)器,如果是其他郵箱服務(wù)商,需要修改服務(wù)器地址和端口號 s.login(msg_from, passwd) # 登錄郵箱 s.sendmail(msg_from, msg_to, msg.as_string()) # 發(fā)送郵件 print('郵件發(fā)送成功') except Exception as e: # 處理可能出現(xiàn)的異常 print('郵件發(fā)送失敗:', e) finally: s.quit() # 關(guān)閉連接
# 使用schedule庫設(shè)置定時任務(wù),每天10點發(fā)送郵件 schedule.every().day.at('10:00').do(send_email) # 你可以修改時間
while True: schedule.run_pending() # 檢查是否有待執(zhí)行的任務(wù) time.sleep(1) # 每秒檢查一次
# 需要安裝必要的庫: pip install smtplib schedule
16. 自動化文件整理: 這個腳本可以自動整理指定文件夾中的文件,按照文件擴展名進行分類。例如,它可以將圖片、文檔、視頻等不同類型的文件分別移動到不同的文件夾中,保持你的文件 organized。它使用了os庫來操作文件和文件夾,shutil庫來移動文件. import os # 用于操作文件和文件夾 import shutil # 用于移動文件
def organize_files(source_folder, dest_folder): '''整理文件的函數(shù)''' for filename in os.listdir(source_folder): # 遍歷源文件夾中的所有文件和文件夾 source_path = os.path.join(source_folder, filename) # 獲取文件的完整路徑 if os.path.isfile(source_path): # 判斷是否是文件,而不是文件夾 ext = os.path.splitext(filename)[1].lower() # 獲取文件擴展名,并轉(zhuǎn)換為小寫 dest_path = os.path.join(dest_folder, ext[1:]) # 在目標(biāo)文件夾中創(chuàng)建以擴展名命名的子文件夾 (例如:.jpg文件會被移動到 'jpg' 文件夾中) os.makedirs(dest_path, exist_ok=True) # 創(chuàng)建目標(biāo)文件夾,如果已存在則不報錯 shutil.move(source_path, dest_path) # 將文件移動到目標(biāo)文件夾
# 替換為你想要整理的文件夾路徑 source_folder = '/path/to/your/source/folder' # 源文件夾路徑 dest_folder = '/path/to/your/destination/folder' # 目標(biāo)文件夾路徑 organize_files(source_folder, dest_folder)
17. 生成二維碼: 這個腳本可以生成二維碼圖片。你可以將文本、網(wǎng)址、聯(lián)系方式等信息編碼到二維碼中,方便用戶掃描獲取信息。它使用qrcode庫來生成二維碼。 import qrcode # 二維碼庫
data = 'https://www.' # 你想要編碼到二維碼中的數(shù)據(jù),可以是網(wǎng)址、文本等 img = qrcode.make(data) # 生成二維碼對象 img.save('qrcode.png') # 保存二維碼圖片為png格式
# 需要安裝qrcode庫: pip install qrcode
18. 圖像處理 (調(diào)整大小): 這個腳本可以調(diào)整圖片的大小。你可以指定新的寬度和高度,將圖片縮放到你需要的尺寸。它使用PIL庫 (Pillow) 來處理圖像。 import qrcode # 二維碼庫
data = 'https://www.' # 你想要編碼到二維碼中的數(shù)據(jù),可以是網(wǎng)址、文本等 img = qrcode.make(data) # 生成二維碼對象 img.save('qrcode.png') # 保存二維碼圖片為png格式
# 需要安裝qrcode庫: pip install qrcode
19. 批量重命名文件: 這個腳本可以批量重命名指定文件夾中的文件,例如添加序號、修改擴展名等。這在處理大量文件時非常有用,例如批量重命名照片、文檔等。 import os
def batch_rename(folder_path, new_name_prefix='file_'): '''批量重命名文件的函數(shù)''' i = 1 for filename in os.listdir(folder_path): old_path = os.path.join(folder_path, filename) if os.path.isfile(old_path): ext = os.path.splitext(filename)[1] # 獲取文件擴展名 new_name = f'{new_name_prefix}{i}{ext}' new_path = os.path.join(folder_path, new_name) os.rename(old_path, new_path) i = 1 print(f'已將 {filename} 重命名為 {new_name}')
folder_path = '/path/to/your/folder' # 將此替換為你的文件夾路徑 batch_rename(folder_path)
20. 簡單的網(wǎng)頁服務(wù)器: 這個腳本可以創(chuàng)建一個簡單的網(wǎng)頁服務(wù)器,讓你可以通過瀏覽器訪問本地電腦上的文件。這在開發(fā)和測試網(wǎng)頁時非常有用。 import http.server import socketserver
PORT = 8000 # 端口號
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(('', PORT), Handler) as httpd: print('serving at port', PORT) httpd.serve_forever()
# 運行后,在瀏覽器中訪問 http://localhost:8000 即可
21. 下載YouTube視頻: 這個腳本可以下載YouTube視頻,方便你離線觀看。 from pytube import YouTube
def download_youtube_video(url, resolution='highest'): '''下載YouTube視頻的函數(shù)''' try: yt = YouTube(url) stream = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first() if not stream: print('找不到合適的視頻流') return
print(f'正在下載: {yt.title}') stream.download() # 下載到當(dāng)前目錄 print('下載完成!')
except Exception as e: print(f'下載失敗: {e}')
video_url = 'https://www./watch?v=你的視頻ID' # 替換為你要下載的視頻鏈接 download_youtube_video(video_url)
# 需要安裝pytube庫: pip install pytube
希望今天的分享能讓你感受到Python的趣味性和實用性。繼續(xù)探索,你將發(fā)現(xiàn)更多Python的精彩應(yīng)用!
|