### 1-1-1. 生成基本的 Python 程式 ### ### ex1-1 ### # ChatGPT 官網 https://chat.openai.com/ ----------------------------------------------------------------------------- 請用 Python 寫一個終極密碼的遊戲 ----------------------------------------------------------------------------- 生成一個 Python 程式,求三位數字的阿姆斯壯數 ----------------------------------------------------------------------------- 寫一個 Python 程式,用於輸入計算兩個整數的和 ----------------------------------------------------------------------------- 寫一個 Python 程式,用於輸入計算兩個整數的和,請不要使用函式 ----------------------------------------------------------------------------- ### ex1-2 ### ----------------------------------------------------------------------------- 寫一個 Python 程式,用於輸入計算兩個整數的和,請不要使用函式 ----------------------------------------------------------------------------- ***************************************************************************** # 輸入第一個整數 num1 = int(input("請輸入第一個整數:")) # 輸入第二個整數 num2 = int(input("請輸入第二個整數:")) # 計算兩個整數的和 sum = num1 + num2 # 輸出結果 print("兩個整數的和為:", sum) ***************************************************************************** ### ex1-3 ### # Google Colab 官網 https://colab.research.google.com ### ex1-4 ### ----------------------------------------------------------------------------- 輸入非數字資料時會錯誤 ----------------------------------------------------------------------------- ***************************************************************************** while True: try: # 輸入第一個整數 num1 = int(input("請輸入第一個整數:")) # 輸入第二個整數 num2 = int(input("請輸入第二個整數:")) # 如果沒有錯誤,跳出迴圈 break except ValueError: print("請輸入有效的整數!") # 計算兩個整數的和 sum = num1 + num2 # 輸出結果 print("兩個整數的和為:", sum) ***************************************************************************** ### ex1-5 ### ----------------------------------------------------------------------------- try...except ----------------------------------------------------------------------------- ### 1-1-2. 重構程式 ### ### ex1-6 ### ----------------------------------------------------------------------------- 寫一個 Python 程式,用於輸入計算兩個整數的和,請不要使用函式 ----------------------------------------------------------------------------- 重構程式 ----------------------------------------------------------------------------- 程式碼重構 ----------------------------------------------------------------------------- ### ex1-7 ### ----------------------------------------------------------------------------- 寫一個 Python 程式,輸入並計算從 1 累加至 n 的和,請不要使用函式 ----------------------------------------------------------------------------- ***************************************************************************** # 提示使用者輸入一個整數 n n = int(input("請輸入一個正整數 n: ")) # 初始化總和變量 sum 為 0 sum = 0 # 使用 for 迴圈從 1 到 n 進行累加 for i in range(1, n + 1): sum += i # 輸出計算結果 print(f"從 1 累加到 {n} 的總和是: {sum}") ***************************************************************************** ----------------------------------------------------------------------------- 重構程式 ----------------------------------------------------------------------------- 程式碼重構,讓程式更簡潔 ----------------------------------------------------------------------------- ***************************************************************************** # 提示使用者輸入一個正整數 n n = int(input("請輸入一個正整數 n: ")) # 計算從 1 累加到 n 的總和 total_sum = sum(range(1, n + 1)) # 輸出計算結果 print(f"從 1 累加到 {n} 的總和是: {total_sum}") ***************************************************************************** ### ex1-8 ### ----------------------------------------------------------------------------- # 計算平均值 def average(nums): total = 0 count = 0 for num in nums: total += num count += 1 return total / count ----------------------------------------------------------------------------- 重構程式 ----------------------------------------------------------------------------- 重構程式,提高可讀性 ----------------------------------------------------------------------------- 重構程式,增加效能 ----------------------------------------------------------------------------- 重構程式,簡化邏輯 ----------------------------------------------------------------------------- ### 1-1-3. 程式註解 ### ### ex1-9 ### ----------------------------------------------------------------------------- 請用 Python 寫一個終極密碼的遊戲 ----------------------------------------------------------------------------- 加上詳細註解 ----------------------------------------------------------------------------- ### ex1-10 ### ----------------------------------------------------------------------------- 請用 Python 寫一個兩數相加的函式 ----------------------------------------------------------------------------- 使用 docstrings 註解 ----------------------------------------------------------------------------- ### 1-1-4. Debug 程式錯誤 ### ### ex1-11 ### ----------------------------------------------------------------------------- 請幫我檢查下列 python 的程式碼,並以中文回答 sum = 0 for i in range(1, 101) sum += i print("1 累加到 100 的結果是:", sum) ----------------------------------------------------------------------------- ### ex1-12 ### ----------------------------------------------------------------------------- 以下為我的程式碼, num1 = int(input('請輸入第一個整數: ')) num2 = int(input('請輸入第二個整數: ')) sum = num1 + num2 print('兩數之和為: ', sum) 但出現了以下的錯誤訊息 ValueError Traceback (most recent call last) in () 1#輸入第一個整數 --->2num1 =int (input(" 請輸入第一個整數:") 3 4#輸入第二個整數 5num2 = int (input("請輸入第二個整數:")) ValueError: invalid literal for int() with base 10: 'a' ----------------------------------------------------------------------------- ### 1-1-5. 生成說明文件 ### ### ex1-13 ### ----------------------------------------------------------------------------- 寫一個 Python 程式,用於輸入計算兩個整數的和 ----------------------------------------------------------------------------- 請用 Markdown 生成說明文件 ----------------------------------------------------------------------------- ### 1-1-6. 轉換程式語言 ### ### ex1-14 ### ----------------------------------------------------------------------------- 以下是一個 Python 程式: num1 = int(input('請輸入第一個整數: ')) num2 = int(input('請輸入第二個整數: ')) sum = num1 + num2 print('兩數之和為: ', sum) 將上述程式碼轉換成 Java ----------------------------------------------------------------------------- ### ex1-15 ### ----------------------------------------------------------------------------- 以下是一個 Python 程式: num1 = int(input('請輸入第一個整數: ')) num2 = int(input('請輸入第二個整數: ')) sum = num1 + num2 print('兩數之和為: ', sum) 將上述程式碼轉換成 C++ ----------------------------------------------------------------------------- ### 1-2-1. 自動生成大量 QRcode ### ### ex1-16 ### ------------------------------------------------------------------------------------------------ 設計一個Python 程式,可以在 Colab 上傳 CSV 名單並產生 QRcode,CSV 名單欄位只有一個 "Name" ------------------------------------------------------------------------------------------------ 設計一個 Python 程式,可以在 Colab 上傳 CSV 名單,並產生 QRcode 下載,CSV 名單欄位只有一個 "Name" ------------------------------------------------------------------------------------------------ ************************************************************************************************ # 需安裝 qrcode 模組 !pip install qrcode[pil] # 上傳 CSV 名單並產生 QRcode import csv import qrcode from google.colab import files def generate_qr_codes(csv_filename): with open(csv_filename, 'r') as csvfile: reader = csv.DictReader(csvfile) for row in reader: name = row['Name'] qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data(name) qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white") img.save(f'{name}.png') print(f'QR code generated for {name}') # Upload CSV file print("Please upload your CSV file:") uploaded = files.upload() # Assuming only one file is uploaded csv_filename = list(uploaded.keys())[0] # Generate QR codes generate_qr_codes(csv_filename) # Zip and download generated QR codes !zip qr_codes.zip *.png files.download('qr_codes.zip') ************************************************************************************************ ### ex1-17 ### ----------------------------------------------------------------------------- 請用 Markdown 生成說明文件 ----------------------------------------------------------------------------- ### 1-2-2. 股市爬蟲程式 ### ### ex1-18 ### ----------------------------------------------------------------------------- 台灣證券交易所查詢股票殖利率 json 格式的網址 ***************************************************************************** 得到的正確網址: https://www.twse.com.tw/exchangeReport/BWIBBU_d ***************************************************************************** ---------------------------------------------------------------------------------------------------------------------- 請寫一個可以在 Colab 中執行的 Python 程式, https://www.twse.com.tw/exchangeReport/ BWIBBU_d 列出殖利率大於 5% 的股票 ---------------------------------------------------------------------------------------------------------------------- ********************************************************************************************************************** import requests import pandas as pd def get_high_dividend_stocks(): # TWSE 的 API 網址 url = "https://www.twse.com.tw/exchangeReport/BWIBBU_d" # 設置參數 params = { "response": "json", "selectType": "ALL" } # 發送請求 response = requests.get(url, params=params) # 如果回應成功,處理資料 if response.status_code == 200: data = response.json() df = pd.DataFrame(data["data"], columns=data["fields"]) # 將殖利率轉換為浮點數 df["殖利率(%)"] = pd.to_numeric(df["殖利率(%)"], errors="coerce") # 選擇殖利率大於 5% 的股票 high_dividend_stocks = df[df["殖利率(%)"] > 5] return high_dividend_stocks else: print("Failed to retrieve data.") return None # 執行函數並印出結果 high_dividend_stocks = get_high_dividend_stocks() if high_dividend_stocks is not None: print(high_dividend_stocks) ********************************************************************************************************************** ----------------------------------------------------------------------------- 請將輸出結果表格化 ----------------------------------------------------------------------------- ### 1-2-3. 股市爬蟲程式 ### ### ex1-19 ### ----------------------------------------------------------------------------- 請您擔任 Python 直譯器角色 ----------------------------------------------------------------------------- n = 5 for i in range(n + 1): print(' ' * (n - i) + '*' * (2 * i - 1)) ----------------------------------------------------------------------------- ### ex1-20 ### ----------------------------------------------------------------------------- 請您擔任 Python 直譯器角色 ----------------------------------------------------------------------------- def gcd(a, b): if b == 0: return a else: return gcd(b, a % b) a = 24, b = 76 -----------------------------------------------------------------------------