实验三
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吗?
一定
task2
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])

task3
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)))

task4
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('哇,猜中了:-)')

task5
x,n=input('输入十进制整数x和要转换的进制n(2或8或16)').split(' ') x=int(x) n=int(n) list1=[] while x!=0: a=x%n if a in range(10,17): list2=['A','B','C','D','E','F'] list3=['10','11','12','13','14','15'] a=str(a) b=list3.index(a) a=a.replace(list3[b],list2[b]) x=x//n list1.append(a) list1=list1[::-1] for i in range(len(list1)): print(list1[i],end='')


浙公网安备 33010602011771号