羅德興老師的教學歷程檔案 - 110-2 進階程式設計 - 程式範例 |
|
|
程式範例# 程式範例 A-1 (迴圈) # -*- coding: utf-8 -*- """ 註解:此為 double loop by L.D.S on 2022/04/03 檔名:loop2.py 功能:此程式為印出 九九乘法表 # \t Tab 印出,\n 跳行 印出, end= "" 接續印出 """ print ("雙層 Loop 九九乘法表 應用1") for i in range(1, 9): for j in range(1, 9): print ("{}*{}={:2} ".format(j, i, i*j), end="") print("") # 程式範例 A-2 (迴圈) # -*- coding: utf-8 -*- """ 註解:此為 double loop by L.D.S on 2022/04/03 檔名:loop2.py 功能:此程式為印出 九九乘法表 # \t Tab 印出,\n 跳行 印出, end= "" 接續印出 """ print ("雙層 Loop 九九乘法表 應用2") for i in range(9, 0,-1): for j in range(1, 9): print ("{}*{}={:2} ".format(i, j, i*j), end="") print("") # 程式範例 A-3 (亂數模擬) """ 檔名:die-9.py 功能:此為 亂數 模擬 擲骰子 by L.D.S on 2022/04/03 """ import random def roll_dice(): """ 模擬擲骰子 """ roll = random.randint(1, 6) return roll def main(): """ 主函數 """ total_times = 10 # 初始化點數所擲次數列表[0, 0, 0, 0, 0, 0] result_list = [0] * 6 for i in range(total_times): roll = roll_dice() print(roll) # 判斷所擲點數,並把其次數加1 for j in range(1, 7): if j == roll: result_list[j - 1] += 1 print("骰子點數") print("1 2 3 4 5 6") print("出現次數") print(result_list) if __name__ == '__main__': main() # 程式範例 B-1 (函式) # -*- coding: utf-8 -*- """ 註解:此為 Recursive 遞迴呼叫 by L.D.S on 2022/04/03 檔名:recursive2.py 功能:此程式為遞迴呼叫 # \t Tab 印出,\n 跳行 印出, end= "" 接續印出 """ print ("遞迴呼叫 應用 1 by 110xxx 張三豐") def print_msg(): print("歡迎學習Python程式設計!") def sum_to_n(start, stop): print("從 " + str(start) + " 加") s = 0 for i in range(start, stop+1): print(i) s += i return(s) print_msg() m=int(input("請輸入一個數字:")) sum2 = sum_to_n(1, m) print("到 "+ str(m) + " = " + str(sum2)) # 程式範例 B-2 (遞迴呼叫) # -*- coding: utf-8 -*- """ 註解:此為 Recursive 遞迴呼叫 by L.D.S on 2022/04/03 檔名:recursive2.py 功能:此程式為遞迴呼叫 # \t Tab 印出,\n 跳行 印出, end= "" 接續印出 """ def fact(n): if (n==1): result= 1 else: result = n*fact(n-1) print(" * " + str(n)) return result m=int(input("請輸入一個數字:")) sum2 = fact(m) print(str(m) + " ! 階層 = " + str(sum2)) # 程式範例 B-3 (模組習作) 1. mymath.py # module 習作 2. # mymodule.py # call module 習作 import mymath 3. 套裝 package 的使用 # main.py import pypackage.mymath as math import pypackage.bank2 as bk """ main.py module 習作 This is written by 110XXXX dsluo 2022/04/09 package exercise main.py pypackage __init__.py mymath.py bank2.py """ import pypackage.mymath as math import pypackage.bank2 as bk print ('模組應用 1: mymath 中的變數 pi =', math.pi) print ('模組應用 2: 引用 mymath 中的函式 最大公約數 gcd') a=24 b=8 print (a, '和 ', b, '的最大公約數 =', math.gcd (a,b)) print ('模組應用 3: 引用 mymath 中的 求階層 函式 factorial') a=5 print (a, '! 階層 =', math.factorial(a)) print() acct = bk.Account('Tommy', '999-889', 900) print ('模組應用 4: 引用 套件(Package) pypackage 的模組(Module) bank2 中的 類別 (class)') print ('原帳戶為:', acct) x = 500 acct.deposit(x) print ('Call Bank 存款 ', x, '後 帳戶為:', acct) y=200 acct.withdraw(y) print ('Call Bank 提款 ', y, '後 帳戶為:', acct) print(acct) # -*- coding: utf-8 -*- """ 檔案操作處理:開,關,讀、寫 檔名:sort9.py 功能:此為 檔案處理與排序by L.D.S on 2022/04/03 讀入檔案:myfile9.txt 如:5 17 9 10 2 6 寫出檔案:test9.csv """ import numpy as np import csv filename = 'myfile9.txt' elements = [] with open(filename) as file: for line in file: line = line.strip().split() elements.append(line) print("讀入的串列:") print(elements) a = np.array(elements[0]) file.close() def bubble_sort(b, n): print("排序中...") for i in range(n-2): for j in range(n-i-1): print("第 ",i,"輪 第 " , j ," 次 比較 \t",end=" ") if (int(b[j]) > int(b[j+1])): temp= b[j] b[j] = b[j+1] b[j+1]=temp print_array(b,b.size) def print_array(c, n): for i in range(0,len(c)): print(c[i],end=" ") print() print("原始陣列:") print_array(a, a.size) bubble_sort(a,a.size) print("排序後的陣列:") print_array(a, a.size) with open("test9.csv","w") as csvfile: writer = csv.writer(csvfile) writer.writerow(a) file.close() # 程式範例 C-2
|
|
中華科技大學數位化學習歷程 - 意見反應 |