实验三
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.思维不够多维,且有些死板
浙公网安备 33010602011771号