实验三
1 import random
2 print('用列表存储随机整数:')
3 ls=[random.randint(1,100) for i in range(5)]
4 print(ls)
5
6 print('\n用集合存储随机整数:')
7 s1={random.randint(1,100) for i in range(5)}
8 print(s1)
9
10 print('\n用集合存储随机整数:')
11 s2=set()
12 while(len(s2)<5):
13 s2.add(random.randint(1,100))
14 print(s2)

问题1:
1到100之间的整数,能取到100。
问题2:
list(range(5))范围是0到5,不包括5。;list(range(1,5))范围是1到5,不包括5。
问题3:
否。
问题4:
是。
task2
1 datas={'2049777001':['篮球','羽毛球','美食','漫画'],'2049777002':['音乐','旅行'],'2049777003':['马拉松','健身','游戏'],'2049777004':[],'2049777005':['足球','阅读'],'2049777006':['发呆','闲逛'],'2049777007':[],'2049777008':['书法','电影'],'2049777009':['音乐','阅读','电影','漫画'],'2049777010':['数学','推理','音乐','旅行']}
2 list1=list(datas.values())
3 list2=[j for item in list1 for j in item]
4 result={}
5 for i in list2:
6 if i not in result:
7 result[i]=1
8 else:
9 result[i]+=1
10 for k in sorted(result,key=result.__getitem__,reverse=True):
11 print(k,result[k])

task3
1 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']]
2 list1=[]
3 for i in range(0,7):
4 list1.append(temperatures[i][2])
5 list2=[]
6 for j in range(0,7):
7 list2.append(temperatures[j][3])
8 a=min(list1)
9 b=max(list2)
10 sum1=0
11 sum2=0
12 for m in list1:
13 sum1+=eval(m)
14 for n in list2:
15 sum2+=eval(n)
16 minimum=sum1/len(list1)
17 maximum=sum2/len(list2)
18 print('未来一周最低气温:{}℃'.format(a))
19 print('未来一周最高气温:{}℃'.format(b))
20 print('未来一周平均气温区间:{}℃~{}℃'.format(int(minimum),int(maximum)))

task4
1 import random
2 num=random.randint(1,31)
3 print('猜猜2022年5月哪一天回事你的lucky day:-)')
4 s=eval(input('你有三次机会,猜吧(1~31):'))
5 if s!=num:
6 if s>num:
7 print('猜晚啦,你的lucky day已经过啦')
8 i=1
9 while i<=2:
10 s=eval(input('再猜(1~31):'))
11 if s>num:
12 print('猜晚啦,你的lucky day已经过啦')
13 i=i+1
14 elif s<num:
15 print('猜早啦,你的lucky day还没到呢')
16 i=i+1
17 elif s==sum:
18 print('哇,猜中啦:-)')
19 break
20 print('次数用光啦')
21 print('偷偷告诉你,5月你的lucky day是{}号。good luck'.format(num))
22 elif s<num:
23 print('猜早啦,你的lucky day还没到呢')
24 i =1
25 while i <= 2:
26 s = eval(input('再猜(1~31):'))
27 if s > num:
28 print('猜晚啦,你的lucky day已经过啦')
29 i = i + 1
30 elif s < num:
31 print('猜早啦,你的lucky day还没到呢')
32 i = i + 1
33 elif s == sum:
34 print('哇,猜中啦:-)')
35 break
36 print('次数用光啦')
37 print('偷偷告诉你,5月你的lucky day是{}号。good luck'.format(num))
38 else:
39 print('哇,猜中了:-)')

task5
1 s=input('输入十进制整数x和要转换的进制n(2或8或16):')
2 t=['A','B','C','D','E','F']
3 for i in range(len(s)):
4 if s[i]==',':
5 k=i
6 break
7 ans=''
8 x=int(s[0:i])
9 n=int(s[i+1:])
10 m=x
11 while x//n!=0:
12 if x%n<10:
13 ans=str(x%n)+ans
14 else:
15 i=x%n-10
16 ans=t[i]+ans
17 x=x//n
18 ans=str(x)+ans
19 print(f'{m}的{n}进制是:{ans}')





浙公网安备 33010602011771号