实验3
#task1.py import random print('用列表存储随机整数: ') ls = [random.randint(1, 100) for i in range(5)] print(ls) print('\n用集合存储随机整数: ') s1 = {random.randint(1,100) for i in range(5)} print(s1) print('\n用集合存储随机整数: ') s2 = set() while(len(s2)<5): s2.add(random.randint(1,100)) print(s2)
问题1: random.randint(1,100) 生成的随机整数范围是?能否取到100?[1,100],能
问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?[0,5),不包括
利用 list(range(1,5)) 生成的有序序列范围是?是否包括5?(1,5),不包括
问题3:使用line8生成的集合s1,len(s1)一定是5吗?回答并说明你的理由。一定,因为s1是range(5)
问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?回答并说明你的理由。一定,因为len(s2)不满足<5时程序停止运行
#task2.py dates = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],'2049777002': ['音乐', '旅行'], '2049777003': ['马拉松', '健身', '游戏'], '2049777004': [], '2049777005': ['足球', '阅读'], '2049777006': ['发呆', '闲逛'], '2049777007': [], '2049777008': ['书法', '电影'], '2049777009': ['音乐', '阅读', '电影', '漫画'], '2049777010': ['数学', '推理', '音乐', '旅行']} a=list(dates.values()) b=[] for m in a: for n in m: b.append(n) c={} for i in b: c[i]=b.count(i) d=list(c.items()) e=sorted(d,key=lambda n: n[1],reverse=True) for m,g in e: print(f'{m}:{g}')
#task3.py 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']] a=[] b=[] for i in temperatures: a.append(eval(i[2])) c=min(a) b.append(eval(i[3])) d=max(b) m=sum(a)//7 n=sum(b)//7 print(f'未来一周最低气温:{c}℃\n未来一周最高气温:{d}℃\n未来一周平均气温区间:{m}℃-{n}℃')
#task4.py import random a=random.randint(1,31) print('猜猜五月的哪一天是你的lucky day:-') i=0 while i<3: b = int(input('你有三次机会,猜吧(1~31):')) if b ==a: print('猜中了猜中了') break else: if b<a: print('猜早了') else: if b>a: print('猜晚了') i+=1 print(f'偷偷告诉你,你五月的lucky day是{a}号')
#task5.py x, n = eval(input("输入十进制整数和要转换的进制n(2或8或16): ")) a = x y = [] list = ["A", "B", "C", "D", "E", "F"] while x != 0: p = x % n if n == 16: if p > 9: b = p%10 p = list[b] y.append(p) x = x // n y.reverse() z = "".join("%s" % i for i in y) print(f'{a}的{n}进制是:',z)