实验三

1

 1 mport 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: random.randint(1,100) 生成的随机整数范围是?能否取到100?

答:1-100,能取100

问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5? 利用 list(range(1,5)) 生成的有序序列范围是?是否包括5?

0-4,不包括,1-5,包括

问题3:使用line8生成的集合s1,len(s1)一定是5吗?

不一定

问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?

2

 1 datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
 2          '2049777002': ['音乐', '旅行'],
 3          '2049777003': ['马拉松', '健身', '游戏'],
 4          '2049777004': [],
 5          '2049777005': ['足球', '阅读'],
 6          '2049777006': ['发呆', '闲逛'],
 7          '2049777007': [],
 8          '2049777008': ['书法', '电影'],
 9          '2049777009': ['音乐', '阅读', '电影', '漫画'],
10          '2049777010': ['数学', '推理', '音乐', '旅行']}
11 m={}
12 for i in datas.values():
13     for j in i:
14         m[j]=m.get(j,0)+1
15 x=list(m.keys())
16 y=list(m.values())
17 z=[(y[i],x[i]) for i in range(len(x))]
18 for j in sorted(z,reverse=True):
19     print(f"{j[1]}:{j[0]}")

3

 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 i=[]
 9 j=[]
10 for h in temperatures:
11     i.append(eval(h[2]))
12     a=min(i)
13     j.append(eval(h[3]))
14     b=max(j)
15 f'int(sum(i)/7)℃~int(sum(j)/7)℃'
16 print(f'未来一周最低气温为:{a}℃')
17 print(f'未来一周最高气温为:{b}℃')
18 print(f'''未来一周平均气温区间:{int(sum(i)/7)}℃~{int(sum(j)/7)}℃''')

4


import random
print('猜猜2022年5月哪一天会是你的lucky day:-')
x=random.randint(1,31)
y=eval(input('你有三次机会,猜吧(1-31):'))
for i in range(3):
if x==y:
print('猜中啦')
break
elif y > x:
print('猜晚啦,你的lucky day已经过啦')
else:
print('猜早啦,你的lucky day还没到呢')
if i<2:
y=int(input('再猜(1-31):'))
else:
print('次数用光啦')
print('偷偷告诉你,五月你的lucky day是',x,'号','.good luck')

 

 

 

5

 1 x,n=eval(input('输入十进制整数x和要转换的进制n(2或8或16):'))
 2 a=[]
b=x
3 hex_v=['A','B','C','D','E','F'] 4 while x!=0: 5 p = x % n 6 if n == 16: 7 if p > 9: 8 gw = p%10 9 p = hex_v[gw] 10 a.append(p) 11 x = x // n 12 a.reverse() 13 z = "".join("%s" % i for i in a) 14 print(f'{b}的{n}进制是:{z}')

总结:尚存问题

1.对于逆序输出还不够熟练

2.思维不够多维,且有些死板

 

posted @ 2022-04-24 23:25  爱冒险的小洋  阅读(8)  评论(1编辑  收藏  举报