實驗3 控制語句與組合資料型別綜合應用
阿新 • • 發佈:2022-04-22
1.實驗任務1
import random print('用列表儲存隨機整數: ') ls = [random.randint(1,100) for i in range(5)] print(ls) print('\n用集合儲存隨機整數: ') s2=set() while (len(s2)<5): s2.add(random.randint(1,100)) print(s2)
問題答案:
1.範圍是1~100,包括1和100.
2. 0~4,不包括5;1~4,不包括5.
3.不一定,如果隨機數重複,len(s1)<5
4.一定是5
2.實驗任務2
datas={'2049777001':['籃球','羽毛球','美食','漫畫'], '2049777002':['音樂','旅行'], '2049777003':['馬拉松','健身','遊戲'], '2049777004':[], '2049777005':['足球','閱讀'], '2049777006':['發呆','閒逛'], '2049777007':[], '2049777008':['書法','電影'], '2049777009':['音樂','閱讀','電影','漫畫'], '2049777010':['數學','推理','音樂','旅行'] } L=list(datas.values()) s=set() d={} for l in L: for i in l: s.add(i) for i in s: si=0 for j in L: for k in j: if k==i: si+=1 d.setdefault(i,si) d1=zip(d.values(),d.keys()) d2=sorted(d1,reverse=True) for i in d2: print(f'{i[1]}:{i[0]}')
3.實驗任務3
temperature=[['2022-04-18','星期一','10','22'], ['2022-04-19','星期二','10','22'], ['2022-04-20','星期三','12','25'], ['2022-04-21','星期四','13','28'], ['2022-01-22','星期五','16','31'], ['2022-04-23','星期六','19','31'], ['2022-04-24','星期日','19','27']] d,g,sd,sg=[],[],0,0 for i in temperature: d.append(i[2]) g.append(i[3]) for i in range(7): sd+=int(d[i]) sg+=int(g[i]) ad=sd//7 ag=sg//7 print(f'未來一週最低氣溫:{min(d)}℃') print(f'未來一週最高氣溫:{max(g)}℃') print(f'未來一週平均氣溫區間:{ad}℃~{ag}℃')
4.實驗任務4
d=randint(1,31) print('猜猜2022年5月哪一天會是你的lucky day:-)') s1=int(input('你有三次機會,猜吧(1~31): ')) s2,s3='','' if s1>d: print('猜晚啦,你的lucky day已經過啦') s2=int(input('再猜(1~31): ')) elif s1<d: print('猜早啦,你的lucky day還沒到呢') s2=int(input('再猜(1~31): ')) else: print('哇,猜中了:-)') if s2>d: print('猜晚啦,你的lucky day已經過啦') s3=int(input('再猜(1~31): ')) elif s2<d: print('猜早啦,你的lucky day還沒到呢') s3=int(input('再猜(1~31): ')) else: print('哇,猜中了:-)') if s3==d: print('哇,猜中了:-)') else: print('次數用光啦.') print(f'偷偷告訴你,5月你的lucky day是{d}號. good luck:-)')
5.實驗任務5
x,n=input('輸入十進位制整數x和要轉換的進位制n(2或8或16): ').split(',') j,k=int(x),int(n) l,l2,m=[],[],[] l1=['10','11','12','13','14','15'] for i in range(ord('A'),ord('F')+1): l2.append(chr(i)) from math import * while True: l.append(str(j%k)) j=floor(j/k) if j==0: break if k==2 or k==8: s=''.join(l) print(f'{x}的{n}進位制是:{s[::-1]}') else: for i in l: if i in l1: m.append(l2[l1.index(i)]) else: m.append(i) s=''.join(m) print(f'{x}的16進位制是:{s[::-1]}')
實驗總結:
1.實驗5用的是pycharm(之前是pyscripter),熟悉了pycharm的使用
2.複習了各種資料型別之間的相互轉換
3. 學會使用了zip()函式,複習了輸出'A'~'Z'的方法
4.加深對迴圈結構、分支結構的熟練度