实验三
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) 生成的随机整数范围是?能否取到100?
大于等于1小于等于100,可以取到100
问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?
大于等于0小于5,不包括5
利用 list(range(1,5)) 生成的有序序列范围是?是否包括5?
大于等于1小于5,不包括5
问题3:使用line8生成的集合s1,len(s1)一定是5吗?
不一定
问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?
一定
datas={'2049777001':['篮球','羽毛球','美食','漫画'],'2049777002':['音乐','旅行'],'2049777003':['马拉松','健身','游戏'],'2049777004':[],'2049777005':['足球','阅读'],'2049777006':['发呆','闲逛'],'2049777007':[],'2049777008':['书法','电影'],'2049777009':['音乐','阅读','电影','漫画'],'2049777010':['数学','推理','音乐','旅行']} list1=list(datas.values()) list2=[j for item in list1 for j in item] result={} for i in list2: if i not in result: result[i]=1 else: result[i]+=1 for k in sorted(result,key=result.__getitem__,reverse=True): print(k,result[k])
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']] list1=[] for i in range(0,7): list1.append(temperatures[i][2]) list2=[] for j in range(0,7): list2.append(temperatures[j][3]) a=min(list1) b=max(list2) sum1=0 sum2=0 for m in list1: sum1+=eval(m) for n in list2: sum2+=eval(n) minimum=sum1/len(list1) maximum=sum2/len(list2) print('未来一周最低气温:{}℃'.format(a)) print('未来一周最高气温:{}℃'.format(b)) print('未来一周平均气温区间:{}℃~{}℃'.format(int(minimum),int(maximum)))
import random num=random.randint(1,31) print('猜猜2022年5月哪一天回事你的lucky day:-)') s=eval(input('你有三次机会,猜吧(1~31):')) if s!=num: if s>num: print('猜晚啦,你的lucky day已经过啦') i=1 while i<=2: s=eval(input('再猜(1~31):')) if s>num: print('猜晚啦,你的lucky day已经过啦') i=i+1 elif s<num: print('猜早啦,你的lucky day还没到呢') i=i+1 elif s==sum: print('哇,猜中啦:-)') break print('次数用光啦') print('偷偷告诉你,5月你的lucky day是{}号。good luck'.format(num)) elif s<num: print('猜早啦,你的lucky day还没到呢') i =1 while i <= 2: s = eval(input('再猜(1~31):')) if s > num: print('猜晚啦,你的lucky day已经过啦') i = i + 1 elif s < num: print('猜早啦,你的lucky day还没到呢') i = i + 1 elif s == sum: print('哇,猜中啦:-)') break print('次数用光啦') print('偷偷告诉你,5月你的lucky day是{}号。good luck'.format(num)) else: print('哇,猜中了:-)')
x=int(input('输入十进制整数:')) n=int(input('要转换的进制:')) a=[] if n==2 or n==8: while x//n!=0: a.insert(0,x%n) x=x//n else: a.insert(0,x%n) elif n==16: b=int(x%n) while x//n!=0: if b==10: b='A' elif b==11: b='B' elif b==12: b='C' elif b==13: b='D' elif b==14: b='E' elif b==15: b='F' elif 0<=b<=9: b=str(x%n) a.insert(0,b) x=x//n else: a.insert(0,x%n) for i in a: print(i,end='')