实验三
#task1.py import random print('用列表存储随机整数: ') ls = [random.randint(1, 100) for i in range(5)] print(ls) 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吗? (是)
#task2.py datas={'2049777001':['篮球','羽毛球','美食','漫画'], '2049777002':['音乐','旅行'], '2049777003':['马拉松','健身','游戏'], '2049777004':[], '2049777005':['足球','阅读'], '2049777006':['发呆','闲逛'], '2049777007':[], '2049777008':['书法','电影'], '2049777009':['音乐','阅读','电影','漫画'], '2049777010':['数学','推理','音乐','旅行'] } a={} for i in datas.values(): for j in i: if j not in a: a[j]=1 elif j in a: a[j]+=1 b=zip(a.values(),a.keys()) b1=sorted(b,reverse=True) for m,n in b1: print("{}:{}".format(n,m))
#task3.py temperatures=[['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']] b=[] s=[] for i in temperatures: b.append(int(i[3])) s.append(int(i[2])) zuidi=min(s) zuigao=max(b) sum1=0 sum2=0 for j in b: sum1+=j for k in s: sum2+=k pjd=int(sum2/len(s)) pjg=int(sum1/len(b)) print("未来一周最低气温:{}℃".format(zuidi)) print("未来一周最高气温:{}℃".format(zuigao)) print("未来一周平均气温区间:{}℃~{}℃".format(pjd,pjg))
#task4.py import random l=random.randint(1,31) print("猜猜2022年5月哪一天会是你的lucky day:-)") a=int(input("你有三次机会,猜吧(1~31):")) if a==l: print("哇,猜中啦:-)") else: if a<l: print("猜早啦,你的lucky day还没到呢") if a>l: print("猜晚啦,你的lucky day已经过啦") f=0 while(f<2): b=int(input("再猜(1~31):")) if b==l: print("哇,猜中啦:-)") f=300 else: if b>l: print("猜晚啦,你的lucky day已经过啦") f+=1 if b<l: print("猜早啦,你的lucky day还没到呢") f+=1 if f==2: print("次数用光啦") print("偷偷告诉你,5月你的lucky day是{}号.good luck:-)".format(l))
#task5.py x,n=eval(input("输入十进制整数x和要转换的进制n(2或8或16):")) a=[] c=x while(c!=0): if c%n<10: f=str(c%n) else: f=chr(ord("A")+c%n%10) a.append(f) c=int((c-c%n)/n) b="".join(a) b1=b[::-1] print("{}的{}进制是:{}".format(x,n,b1))