sunchenxi

导航

实验3 控制语句与组合数据类型应用编程

 1 #task1.py
 2 import random
 3 print('用列表存储随机整数: ')
 4 ls = [random.randint(1, 100) for i in range(5)]
 5 print(ls)
 6 print('\n用集合存储随机整数: ')
 7 s1 = {random.randint(1, 100) for i in range(5)}
 8 print(s1)
 9 print('\n用集合存储随机整数: ')
10 s2 = set()
11 while(len(s2)<5):
12     s2.add(random.randint(1,100))
13 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吗?
一定
 1 #task2.py
 2 datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
 3          '2049777002': ['音乐', '旅行'],
 4          '2049777003': ['马拉松', '健身', '游戏'],
 5          '2049777004': [],
 6          '2049777005': ['足球', '阅读'],
 7          '2049777006': ['发呆', '闲逛'],
 8          '2049777007': [],
 9          '2049777008': ['书法', '电影'],
10          '2049777009': ['音乐', '阅读', '电影', '漫画'],
11          '2049777010': ['数学', '推理', '音乐', '旅行']
12          }
13 hobby=datas.values()
14 hobby1=[]
15 for i in hobby:
16     for j in i:
17         hobby1.append(j)
18 a=hobby1.count('篮球')
19 b=hobby1.count('羽毛球')
20 c=hobby1.count('美食')
21 d=hobby1.count('漫画')
22 e=hobby1.count('音乐')
23 f=hobby1.count('旅行')
24 g=hobby1.count('马拉松')
25 h=hobby1.count('健身')
26 i=hobby1.count('游戏')
27 j=hobby1.count('足球')
28 k=hobby1.count('阅读')
29 l=hobby1.count('发呆')
30 m=hobby1.count('闲逛')
31 n=hobby1.count('书法')
32 o=hobby1.count('电影')
33 p=hobby1.count('数学')
34 q=hobby1.count('推理')
35 list2=[a,b,c,d,e,f,g,h,i,j,k,o,p,q]
36 list1=['篮球','羽毛球', '美食', '漫画','音乐', '旅行','马拉松', '健身', '游戏','足球', '阅读','发呆', '闲逛','书法', '电影','数学', '推理']
37 z=list(zip(list2,list1))
38 list3=sorted(z,reverse=True)
39 for key,value in list3:
40     print(f'{value}:{key}')

 1 #task3.py
 2 temperatures= [['2022-04-18', '星期一', '10', '22'],
 3                ['2022-04-19', '星期二', '10', '22'],
 4                ['2022-04-20', '星期三', '12', '25'],
 5                ['2022-04-21', '星期四', '13', '28'],
 6                ['2022-04-22', '星期五', '16', '31'],
 7                ['2022-04-23', '星期六', '19', '31'],
 8                ['2022-04-24', '星期日', '19', '27']]
 9 min=temperatures[0][0]
10 max=temperatures[0][0]
11 for i in range(len(temperatures)):
12     for j in range(2,4):
13         if (min>temperatures[i][j]):
14             min=temperatures[i][j]
15 for i in range(len(temperatures)):
16     for j in range(2,4):
17         if (max<temperatures[i][j]):
18             max=temperatures[i][j]
19 print(f'未来一周的最低气温:{min}℃')
20 print(f'未来一周最高气温:{max}℃')
21 sum1=0
22 sum2=0
23 for i in range(len(temperatures)):
24     sum1+=int(temperatures[i][2])
25 min_jun=sum1/(len(temperatures))
26 for i in range(len(temperatures)):
27     sum2+=int(temperatures[i][3])
28 max_jun=sum2/(len(temperatures))
29 print(f'未来一周平均气温区间:{int(min_jun)}℃~{int(max_jun)}℃')

 1 #task4.py
 2 import random
 3 print('猜猜2022年5月哪一天是你的lucky day:-)')
 4 day=random.randint(1,31)
 5 guess=int(input('你有三次机会,猜吧(1~31):'))
 6 if guess > day:
 7     print('猜晚啦,你的lucky day已经过啦')
 8     guess = int(input('再猜(1~31):'))
 9     if guess > day:
10         print('猜晚啦,你的lucky day已经过啦')
11         guess = int(input('再猜(1~31):'))
12         if guess > day:
13             print('猜晚啦,你的lucky day已经过啦')
14             print('次数用完啦。')
15             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
16         elif guess < day:
17             print('猜早啦,你的lucky day还没到呢')
18             print('次数用完啦。')
19             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
20         else:
21             print('哇,猜中了:-)')
22     elif guess < day:
23         print('猜早啦,你的lucky day还没到呢')
24         guess = int(input('再猜(1~31):'))
25         if guess > day:
26             print('猜晚啦,你的lucky day已经过啦')
27             print('次数用完啦。')
28             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
29         elif guess < day:
30             print('猜早啦,你的lucky day还没到呢')
31             print('次数用完啦。')
32             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
33         else:
34             print('哇,猜中了:-)')
35     else:
36         print('哇,猜中了:-)')
37 elif guess < day:
38     print('猜早啦,你的lucky day还没到呢')
39     guess = int(input('再猜(1~31):'))
40     if guess > day:
41         print('猜晚啦,你的lucky day已经过啦')
42         guess = int(input('再猜(1~31):'))
43         if guess > day:
44             print('猜晚啦,你的lucky day已经过啦')
45             print('次数用完啦。')
46             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
47         elif guess < day:
48             print('猜早啦,你的lucky day还没到呢')
49             print('次数用完啦。')
50             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
51         else:
52             print('哇,猜中了:-)')
53     elif guess < day:
54         print('猜早啦,你的lucky day还没到呢')
55         guess = int(input('再猜(1~31):'))
56         if guess > day:
57             print('猜晚啦,你的lucky day已经过啦')
58             print('次数用完啦。')
59             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
60         elif guess < day:
61             print('猜早啦,你的lucky day还没到呢')
62             print('次数用完啦。')
63             print(f'偷偷告诉你,五月你的lucky day是{day}号.good luck:-)')
64         else:
65             print('哇,猜中了:-)')
66     else:
67         print('哇,猜中了:-)')
68 else:
69     print('哇,猜中了:-)')

 

 1 #task5.py
 2 x,n=input('输入一个十进制数x和要转换的进制是(2或8或16):').split(',')
 3 x1=int(x)
 4 x2=int(x)
 5 n1=int(n)
 6 number_list=[]
 7 while x1 != 0:
 8     if n1 == 2:
 9         a = int(x1 % n1)
10         number_list.append(a)
11         x1 = (x1 - a) / n1
12     elif n1 == 8:
13         a = int(x1 % n1)
14         number_list.append(a)
15         x1 = (x1 - a) / n1
16     elif n1== 16:
17         a = int(x1 % n1)
18         number_list.append(a)
19         x1 = (x1 - a) / n1
20 sixteen = [str(chr(55+i)) if i not in range(10) else str(i) for i in number_list[::-1]]
21 print(f"{x2}的{n1}进制是:{''.join(sixteen)}")

 

posted on 2022-04-23 15:02  靠谱一星  阅读(42)  评论(2编辑  收藏  举报