实验3

task1

 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}')

 

posted on 2022-04-23 14:37  蒜头小兲  阅读(23)  评论(4编辑  收藏  举报

导航