黃雅雯學習歷程表現 - 111-1大數據分析 - 8.函數圖型
 

夜四技企資四甲
1101AD008
黃雅雯


歷程檔案 Portfolio

    8.函數圖型

     
     
    def coin_sum_r(total, coins):
        if len(coins) == 1:
            return 1
        elif total < coins[-1]:
            return coin_sum_r(total, coins[:-1])
        else:
            return coin_sum_r(total-coins[-1], coins) + coin_sum_r(total, coins[:-1])
     
    coins_a = (1, 5, 10, 25)   
    print(coin_sum_r(100, coins_a))   # 242
     
    coins_england = (1, 2, 5, 10, 20, 50, 100, 200)
    print(coin_sum_r(200, coins_england))   # 73682


    input_str = input('輸入數字 ( 逗號分隔 ):')   # 讓使用者輸入數字,數字間用逗號分隔
    nums = input_str.split(',')   # 將輸入的文字,用逗號拆分成串列
    for i in range(len(nums)):    # 將串列的每個項目轉換成文字
        nums[i-1] = int(nums[i-1])
    nums.sort(reverse=True)       # 將串列從大到小排序
    result = nums[0]              # 設定「暫定的最小公倍數」為最大的數字
    while True:                   # 執行 while 迴圈
        a = 0                       # 新增 a 變數,當作餘數使用
        for i in nums:              # 依序取出串列中的每個數字
            a = result%i              # 用「暫定的最小公倍數」除以每個數字,求出餘數
            if a != 0:                # 如果餘數不為 0,跳出 for 迴圈再來一次
                break
        if a == 0:                  # 如果全部餘數都為 0,跳出 while 迴圈
            break
        else:
            result = result + nums[0# 如果餘數不為 0,就將「暫定的最小公倍數」加上最大的數字,然後再來一次
    print(result)                 # while 迴圈結束後,印出最小公倍數


    import random
    a = random.sample(range(150), 6)
    # 從包含 1~49 數字的串列中,取出六個不重複的數字變成串列
    print(a)   # [9, 39, 10, 8, 25, 43]

    import datetime
    import calendar       # import calendar 模組
    today = datetime.date.today()
    age = input('輸入生日 ( YYYY/MM/DD ):')
    age_list = age.split('/')
    year = today.year - int(age_list[0])
    month = today.month - int(age_list[1])
    if month<0:
        year = year - 1
        month = 12 + month
    day_list = [31,28,31,30,31,30,31,31,30,31,30,31]
    if calendar.isleap(today.year):         # 判斷如果是閏年
        day_list[1] = 29                    # 就將二月份的天數改成 29 天
    day = today.day - int(age_list[2])
    if day<0:
        month = month - 1
        if month<0:
            year = year - 1
            month = 12 + month
        day = day_list[month] + day

    print(f'{year} 歲 {month} 個月 {day} 天')


    import random
    rang1 = int(input("請設定本局遊戲的最小值:"))
    rang2 = int(input("請設定本局遊戲的最大值:"))
    num = random.randint(rang1,rang2)
    guess = "guess"
    print("數字猜謎遊戲!")
    i = 0
    while guess != num:
        i += 1
        guess = int(input("請輸入你猜的數字:"))

        if guess == num:
            print("恭喜,你猜對了!")
        elif guess < num:
            print("你猜的數小了...")
        else:
            print("你猜的數大了...")

    print("你總共猜了%d" %i + "次",end = '')
    print(",快和你朋友較量一下...")
     
     
     
    全部共 1則留言
    12-25 11:13:僅看到程式執行結果,未看到連結。
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

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