羅德興老師的教學歷程檔案 - 110-2 進階程式設計 - 程式範例
 

企業資訊與管理系
助理教授/日導
羅德興


歷程檔案 Portfolio

    程式範例

    # 程式範例 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)
     

    bank2.py
    class Account:


     
    # 程式範例 C-1 (檔案處理 & 排序)
    # -*- 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
    全部共 1則留言
    04-17 10:39:""" 參考:https://syntaxfix.com/question/557/importing-py-files-in-google-colab 參考:https://medium.com/analytics-vidhya/importing-your-own-python-module-or-python-file-into-colab-3e365f0a35ec 參考:https://www.learncodewithmike.com/2020/01/python-module-and-package.html 解析Python模組(Module)和套件(Package)的概念 """ from google.colab import drive import sys drive.mount('/content/drive') sys.path.append('/content/drive/MyDrive/Colab Notebooks') # 修正mymath公式 return a 往前 import pypackage2.mymath as math import pypackage2.bank2 as bk
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

    中華科技大學數位化學習歷程 - 意見反應