--- tags: python --- 學校網路安全檢查,上傳連結暫時失效 ~~上傳確認: http://120.105.130.120/~~ [聯絡得富](mailto:edward61221@gmail.com) ```bash= edward61221@gmail.com ``` # 聯合大學課程內容 12/11 連結無法使用,請同學直接將作業寄信至 cyhan@gm.nuu.edu.tw ~~[12/11上傳連結](http://120.105.130.120/file/sharing/IQFWtJDDn)~~ 請上傳本次教學所述之UI設計並設計一台計算機出來 --- ## Pyside6下載與UI環境建立 複製下列資料 ![image](https://hackmd.io/_uploads/S1DXbg486.png) 到指定資料夾 執行下列命令 ```bash= pip install PySide6-6.6.1-cp38-abi3-win_amd64.whl ``` ```bash= python ``` ```python= import PySide6.QtCore ``` 如果無跳出異狀表示成功匯入資料 ```python= import sys from PySide6.QtWidgets import QApplication, QLabel app = QApplication(sys.argv) label = QLabel("Hello World!") label.resize(800, 600) label.show() app.exec() ``` 先做到這邊即可 ![image](https://hackmd.io/_uploads/HkYGJxVLT.png) ## 物件導向概念說明 ```python= # 檔名為 test2.py import time class Horse: def __init__(self): print("啟動馬物件") self.call() def call(self, value="ㄚㄚㄚㄚ"): print(f"馬叫了 {value}") def run(self): print("馬正在跑") def jamp(self): print("馬跳起來") class Ox: def __init__(self): pass def call(self,value="牟~"): print(f"牟 {value}") if __name__ == "__main__": a = Horse() time.sleep(1 ) a.run() time.sleep(1 ) a.call("你好我是一隻會說話的馬") ``` ```python= # 檔名為test.py from test2 import Horse from test2 import Ox import time a=Horse() b=Horse() c=Ox() a.call("我的名字叫做A") time.sleep(1) b.call("我的名字叫做B") time.sleep(1) a.call("開始賽跑") time.sleep(1) a.run() time.sleep(1) b.run() time.sleep(1) c.call("我是牛") ``` 執行結果 ```bash= python .\test.py 啟動馬物件 馬叫了 ㄚㄚㄚㄚ 啟動馬物件 馬叫了 ㄚㄚㄚㄚ 馬叫了 我的名字叫做A 馬叫了 我的名字叫做B 馬叫了 開始賽跑 馬正在跑 馬正在跑 牟 我是牛 ``` ## UI設計與轉碼 先找到`Pyside6`安裝位置 ![image](https://hackmd.io/_uploads/B1qW0eNU6.png) 以老師的電腦為例 `c:\users\owuser\appdata\local\packages\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\localcache\local-packages\python312\site-packages` --- 將指令複製到**檔案總管**點開 **PySide6** ![image](https://hackmd.io/_uploads/rJdBReEIa.png) 打開 **Designer** ![image](https://hackmd.io/_uploads/rk_v0e48a.png) 便可以開始進行UI設計 ![image](https://hackmd.io/_uploads/Hke1JbV8p.png) 設計完成的UI可利用 `pyside-uic` 工具進行轉換為`.py`檔案 ```bash= pyside6-uic main_windows.ui -o main_windows.py ``` 轉換後可得到UI檔的`.py` ![image](https://hackmd.io/_uploads/S1BuI-N86.png) 於是乎,我們便可以進行呼叫與使用這些物件啦 ```python= import sys from PySide6.QtWidgets import QApplication, QLabel, QMainWindow from main_windows_ui import Ui_Dialog class test(QMainWindow): def __init__(self): super().__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.b utton() def button(self): # 使用 lambda 函數傳遞參數 self.ui.pushButton_1.clicked.connect(lambda: self.display(1)) self.ui.pushButton_2.clicked.connect(lambda: self.display(2)) self.ui.pushButton_3.clicked.connect(lambda: self.display(3)) self.ui.pushButton_4.clicked.connect(lambda: self.display(4)) self.ui.pushButton_5.clicked.connect(lambda: self.display(5)) self.ui.pushButton_6.clicked.connect(lambda: self.display(6)) self.ui.pushButton_7.clicked.connect(lambda: self.display(7)) self.ui.pushButton_8.clicked.connect(lambda: self.display(8)) self.ui.pushButton_9.clicked.connect(lambda: self.display(9)) self.ui.pushButton_10.clicked.connect(lambda: self.display(0)) def display(self, value): self.i = value self.ui.textBrowser.setText(str(value)) if __name__ == '__main__': app = QApplication([]) hb_window = test() hb_window.show() app.exec() ``` 執行結果 ![image](https://hackmd.io/_uploads/HJth8-N8p.png) # 聯合大學課程內容 12/04 [12/04上傳連結](http://120.105.130.120/file/sharing/74RrdHvql) ## 基本語句練習 ## For 迴圈練習 ![image](https://hackmd.io/_uploads/rJ7es25Ba.png) ## 流程控制練習 猜數字 由電腦產生一組4位不重複的數字,使用者可以輸入任意4位數字 規則 如果數字正確但是位置錯誤以B呈現 如果數字正確且位置正確則顯示A 範例:電腦數字 1234 使用者輸入 4321 電腦顯示 0A4B 使用者輸入 0123 電腦顯示 0A3B 使用者輸入 1289 電腦顯示 2A0B 直到使用者猜對,並顯示使用者猜了幾次 ## import 函式庫 [pypi](https://pypi.org/) 相關函式庫下載區 提供各位同學電腦環境建置使用 [繪圖練習](https://github.com/NUUEO/BBands ```bat= pip install pandas pip install matplotlib pip install openpyxl ``` # 聯合大學Python課程 2023/11/27 ## 練習題目 - 輸入項目 - 身高 cm - 體重 kg - 性別 - 輸出項目 - BMI值 - 判定標準(過重 過輕等) - 入伍與否 [11/27上傳連結](http://120.105.130.120:5000/sharing/08PRrobzY) ## 何謂寫程式? ### 修改副檔名 #### 副檔名 副檔名(Filename Extension,或作延伸檔名、字尾名)是早期作業系統(如VMS/CP/M/DOS等)用來標誌檔案格式的一種機制。以DOS來說,一個副檔名是跟在主檔名後面的,由一個分隔符號分隔。在一個像「example.txt」的檔名中,example是主檔名,txt為副檔名,表示這個檔案是一個純文字檔案,句號「.」就是主檔名與副檔名的分隔符號。 使windows顯示副檔名 ![image](https://hackmd.io/_uploads/Hy8whd-Sa.png) 取消勾選該項目 ![image](https://hackmd.io/_uploads/HyncnuWST.png) ### 創建文件 ![image](https://hackmd.io/_uploads/BJnahdWra.png) 開啟終端機 ![image](https://hackmd.io/_uploads/S1WypuZra.png) 變更目錄 ```bat= cd [你要的資料夾] python test.py ``` 透過python 呼叫你要的程式碼 ```cmd= python [filename.py] ``` 透過 `python`指令呼叫**特定路徑**的**特定程式碼** ![image](https://hackmd.io/_uploads/B1oBwtWHp.png) ## 利用更方便的工具 ### 利用Visual Studio code 開啟指定資料夾 ![image](https://hackmd.io/_uploads/SkN8_FbrT.png) 點開終端機 ![image](https://hackmd.io/_uploads/HktduKWHp.png) 執行程式碼 ![image](https://hackmd.io/_uploads/rkKGOKbBp.png)