黃雅雯學習歷程表現 - 111-1大數據分析 - 8.函數圖型 |
|
|
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(1, 50), 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(",快和你朋友較量一下...")
|
|
中華科技大學數位化學習歷程 - 意見反應 |