实验3
实验任务4 import random a=random.randint(1,31) print('猜猜2022年5月哪一天会是你的lucky day:-)') n=eval(input('你有三次机会,猜吧(1~31):')) if(n!=a): if(n>a): print('猜晚啦,你的lucky day已经过啦') else: print('猜早啦,你的lucky day还没到呢') n1=eval(input('再猜(1~31):')) if(n1!=a): if(n1>a): print('猜晚啦,你的lucky day已经过啦') else: print('猜早啦,你的lucky day还没到呢') n2=eval(input('再猜(1~31):')) if(n2!=a): print('次数用光啦.'+'\n+'+'偷偷告诉你,5月你的lucky day是'+str(a)+ '号.good luck:-)') else: print('哇,猜中了:-)') else: print('哇,猜中了:-)') else: print('哇,猜中了:-)')
实验任务5 x,n=eval(input('输入十进制整数x和要转换的进制n(2或8或16):')) x1=x if(x%n<10): l=[x%n] else: l=[chr(x%n+55)] while int(x/n)!=0: x=int(x/n) if(x%n<10): l.append(x%n) else: l.append(chr(x%n+55)) l.reverse() print(str(x1)+'的'+str(n)+'进制是:'+"".join(str(i) for i in l))
实验任务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:[1,100),不能取到100.
问题2:[0,5),不包括5.
问题3:一定。因为后面的语句控制i取range(5)内的所有值。
问题4:一定。因为该循环语句条件是len(s2)<5.
实验任务2 datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'], '2049777002': ['音乐', '旅行'], '2049777003': ['马拉松', '健身', '游戏'], '2049777004': [], '2049777005': ['足球', '阅读'], '2049777006': ['发呆', '闲逛'], '2049777007': [], '2049777008': ['书法', '电影'], '2049777009': ['音乐', '阅读', '电影', '漫画'], '2049777010': ['数学', '推理', '音乐', '旅行'] } li=list(datas.values()) i=0 l=[] while i<len(li): j=0 while j<len(li[i]): l.append(li[i][j]) j+=1 i+=1 mc=['音乐','漫画','旅行','阅读','电影','篮球','羽毛球','美食','马拉松','健身', '游戏','足球','发呆','闲逛','书法','数学','推理'] numdict={} for i in mc: numdict[i]=l.count(i) num_list=[(x[1],x[0]) for x in numdict.items()] num_list.sort(reverse=True) for num in num_list: print(f'{num[1]}:{num[0]}')
实验任务3 emperatures= [['2022-04-18', '星期一', '10', '22'], ['2022-04-19', '星期二', '10', '22'], ['2022-04-20', '星期三', '12', '25'], ['2022-04-21', '星期四', '13', '28'], ['2022-04-22', '星期五', '16', '31'], ['2022-04-23', '星期六', '19', '31'], ['2022-04-24', '星期日', '19', '27']] mi=[] ma=[] i=0 while i<len(temperatures): mi.append(temperatures[i][2]) ma.append(temperatures[i][3]) i+=1 print('未来一周最低气温:'+str(min(mi))+'°C') print('未来一周最高气温:'+str(max(ma))+'°C') s1=0 s2=0 i=0 while i<len(mi): s1+=int(mi[i]) s2+=int(ma[i]) i+=1 print('未来一周平均气温区间:'+str(int(s1/len(mi)+0.5))+'°C'+'~'+str(int(s2/len(ma)+0.5))+'°C')
实验总结:通过实验任务1,我巩固了RANGE的用法。通过实验任务2,我巩固了上次作业中做到的统计字典中值的数量。不足之处是我还不太清楚分支和循环的区别,实验任务4花了较长时间。以后我要记住一些常用的用法,比如控制小数位数。