实验三

Task1:

 

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

 

回答1. 1-100并且可以取到100
回答2. 0-4取不到5;1-4取不到5
回答3. 不一定是5,因为有可能会取到相同的数字,而集合不存在相同的元素
回答4. 一定是,如果不是5,while循环会一直进行下去

Task2:

 1 datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
 2 '2049777002': ['音乐', '旅行'],
 3 '2049777003': ['马拉松', '健身', '游戏'],
 4 '2049777004': [],
 5 '2049777005': ['足球', '阅读'],
 6 '2049777006': ['发呆', '闲逛'],
 7 '2049777007': [],
 8 '2049777008': ['书法', '电影'],
 9 '2049777009': ['音乐', '阅读', '电影', '漫画'],
10 '2049777010': ['数学', '推理', '音乐', '旅行']
11 }
12 cishu = {}
13 aihao = []
14 aihao1 = set()
15 
16 for i in datas.keys():
17     for n in datas[i]:
18         aihao.append(n)
19         aihao1.add(n)
20 aihao1 = list(aihao1)
21 
22 for i in aihao1:
23     cishu.setdefault(i,aihao.count(i))
24 cishu = list(zip(cishu.values(),cishu.keys()))
25 cishu.sort(reverse=True)
26 for i in range(len(cishu)):
27     print('{}:{}'.format(cishu[i][1],cishu[i][0]))

Task3:

 

 1 temperatures= [['2022-04-18', '星期一', '10', '22'],
 2 ['2022-04-19', '星期二', '10', '22'],
 3 ['2022-04-20', '星期三', '12', '25'],
 4 ['2022-04-21', '星期四', '13', '28'],
 5 ['2022-04-22', '星期五', '16', '31'],
 6 ['2022-04-23', '星期六', '19', '31'],
 7 ['2022-04-24', '星期日', '19', '27']]
 8 diwen = []
 9 gaowen = []
10 for i in range(len(temperatures)):
11     diwen.append(temperatures[i][2])
12     gaowen.append(temperatures[i][3])
13 sum_zuidiwen = 0
14 sum_zuigaowen = 0
15 for i,n in zip(diwen,gaowen):
16     sum_zuidiwen = sum_zuidiwen + int(i)
17     sum_zuigaowen = sum_zuigaowen + int(n)
18 average_zuidiwen = sum_zuidiwen / len(temperatures)
19 average_zuigaowen = sum_zuigaowen / len(temperatures)
20 zuidiwen = min(diwen)
21 zuigaowen = max(gaowen)
22 print('未来一周最低气温: {}℃'.format(zuidiwen))
23 print('未来一周最高气温: {}℃'.format(zuigaowen))
24 print('未来一周最高气温: {}℃ ~ {}℃'.format(int(average_zuidiwen),int(average_zuigaowen)))

 

Task4:

 

 1 print('猜猜2022年5月哪一天会是你的lucky day:-)')
 2 import random
 3 xingyunshuzi = random.randint(1,31)
 4 caice = eval(input('你有三次机会,猜吧(1~31):'))
 5 i = 1
 6 while(i<=3):
 7     if(caice < xingyunshuzi):
 8         if(i == 3):
 9             print('次数用光啦.\n偷偷告诉你,5月你的lucky day是{}号.good luck:-)'.format(xingyunshuzi))
10             break
11         print('猜早啦,你的lucky day还没到呢')
12         caice = eval(input('再猜(1~31):'))
13         i = i + 1
14     elif(caice > xingyunshuzi):
15         if(i == 3):
16             print('次数用光啦.\n偷偷告诉你,5月你的lucky day是{}号.good luck:-)'.format(xingyunshuzi))
17             break
18         print('猜晚啦,你的lucky day已经过啦')
19         caice = eval(input('再猜(1~31):'))
20         i = i + 1
21     else:
22         print('哇,猜中了:-)')
23         break
24 else:
25     print('次数用光啦.\n偷偷告诉你,5月你的lucky day是{}号.good luck:-)'.format(xingyunshuzi))

 

Task5:

 1 x,n = eval(input('输入十进制整数x和要转换的进制n(2或8或16):'))
 2 cunchu = x
 3 jinzhi = []
 4 if(n == 2 or n == 8):
 5     while(x != 0):
 6         a = x%n
 7         x = x//n
 8         jinzhi.append(str(a))
 9     jinzhi = ''.join(jinzhi)[::-1]
10 else:
11     while(x != 0):
12         a = x%n
13         x = x//n
14         jinzhi.append(a)
15     for i in range(len(jinzhi)):
16         if(jinzhi[i] == 10):
17             jinzhi[i] = 'A'
18         elif(jinzhi[i] == 11):
19             jinzhi[i] = 'B'
20         elif(jinzhi[i] == 12):
21             jinzhi[i] = 'C'
22         elif(jinzhi[i] == 13):
23             jinzhi[i] = 'D'
24         elif(jinzhi[i] == 14):
25             jinzhi[i] = 'E'
26         elif(jinzhi[i] == 15):
27             jinzhi[i] = 'F'
28     for i in range(len(jinzhi)):
29         jinzhi[i] = str(jinzhi[i])
30     jinzhi = ''.join(jinzhi)[::-1]
31 print('{}的{}进制是:{}'.format(cunchu,n,jinzhi))

 总结:人生苦短,下次一定

posted @ 2022-04-21 09:01  注册好容易啊  阅读(20)  评论(3)    收藏  举报