實驗3 控制語句和組合資料型別綜合應用
阿新 • • 發佈:2022-04-20
任務實驗1:
import random print('用列表儲存隨機整數:') Is=[random.randint(1,100) for i in range(5)] print(Is) print('\n用集合儲存隨機整數:') s1={random.randint(1,100) for i in range(5)} print(s1) print('\n用集合儲存隨機整數:') s2=set() while(len(s2)<5): s2.add(random.randint(1,100)) print(s2)
問題1:random.randint(1,100)生成的隨機整數範圍是1-100,能取到100
問題2:利用list(range(5))生成的有序序列範圍是0-4,不包括5
利用list(range(1,5))生成的有序序列範圍是1-4,不包括5
問題3:使用line8生成的集合s1,len(s1)一定是5
問題4:使用line12-14生成的集合s2,len(s2)一定是5
任務實驗2:
1 datas = {'2049777001': ['籃球', '羽毛球', '美食', '漫畫'], 2 '2049777002': ['音樂', '旅行'], 3 '2049777003': ['馬拉松', '健身', '遊戲'], 4 '2049777004': [], 5 '2049777005': ['足球', '閱讀'], 6 '2049777006': ['發呆', '閒逛'], 7 '2049777007': [], 8 '2049777008': ['書法', '電影'], 9 '2049777009': ['音樂', '閱讀', '電影', '漫畫'], 10 '2049777010': ['數學', '推理', '音樂', '旅行']} 11 list=list(datas.values()) 12 s=set() 13 list1=[]14 list2=[] 15 for i in list: 16 for j in i: 17 list1.append(j) 18 s.add(j) 19 list2.append(str(list1).count(j)) 20 x=dict(zip(list1,list2)) 21 x1=[(v,k) for k,v in x.items()] 22 x2=sorted(x1,reverse=True) 23 for n in x2: 24 print(f'{n[1]}:{n[0]}')
任務實驗3:
1 temperatures= [['2022-04-18', '星期一', '10', '22'], 2 ['2022-04-19', '星期二', '10', '22'], 3 ['2022-04-20', '星期三', '12', '25'], 4 ['2022-04-21', '星期四', '13', '28'], 5 ['2022-04-22', '星期五', '16', '31'], 6 ['2022-04-23', '星期六', '19', '31'], 7 ['2022-04-24', '星期日', '19', '27']] 8 min_t=[] 9 max_t=[] 10 for row in temperatures: 11 min_t.append(int(row[2])) 12 max_t.append(int(row[3])) 13 x=100 14 y=0 15 s1=0 16 s2=0 17 for i in min_t: 18 s1=s1+i 19 if i<x: 20 x=i 21 for j in max_t: 22 s2=s2+j 23 if j>y: 24 y=j 25 print('未來一週最低氣溫:',x,'°C') 26 print('未來一週最高氣溫:',y,'°C') 27 print('未來一週平均氣溫區間:',int(s1/7),'°C-',int(s2/7),'°C')
任務實驗4:
1 import random 2 x0=random.randint(1,31) 3 print('猜猜2022年5月哪一天會是你的lucky day:-') 4 x=int(input('你有三次機會,猜吧(1-31):')) 5 if x==x0: 6 print('哇,猜中了:-)') 7 else: 8 for i in range(2): 9 if x>x0: 10 print('猜晚啦,你的lucky day已經過啦') 11 x=int(input('再猜(1-31):')) 12 elif x<x0: 13 print('猜早啦,你的lucky day還沒到呢') 14 x=int(input('再猜(1-31):')) 15 else: 16 print('哇,猜中了:-)') 17 break 18 else: 19 print('次數用光啦.偷偷告訴你,5月你的lucky day是',x0,'號.good luck:-')
任務實驗5:
1 x,n=eval(input('輸入十進位制整數x和想要轉換的進位制n(2或8或16):')) 2 list=[] 3 list1=[] 4 d1={10:'a',11:'b',12:'c',13:'d',14:'e',15:'f'} 5 if n==2: 6 a=x 7 while a/n !=0: 8 list.append(a%n) 9 a=a//n 10 print(x,'的',n,'進位制是:',end='') 11 for i in list: 12 list1.insert(0,i) 13 for j in list1: 14 print(j,end='') 15 elif n==8: 16 b=x 17 while b/n!=0: 18 list.append(b%n) 19 b=b//n 20 print(x,'的',n,'進位制是:',end='') 21 for i in list: 22 list1.insert(0,i) 23 for j in list1: 24 print(j,end='') 25 elif n==16: 26 c=x 27 while c/n!=0: 28 if c%n<10: 29 list.append(c%n) 30 else: 31 list.append(d1[c%n]) 32 c=c//n 33 print(x,'的',n,'進位制是:',end='') 34 for i in list: 35 list1.insert(0,i) 36 for j in list1: 37 print(j,end='')