任务1
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时程序停止运行
任务2
# 要求编写程序task2.py对这组数据进行清洗、统计,统计出某个兴趣爱好,及其在所有用户调查中的次数,按照被用户提及的兴趣次数由高->低打印。 a=list(datas.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}')
任务3
lower = [] higher = [] for i in range(len(temperatures)): lower.append(int(temperatures[i][2])) lowest = min(lower) higher.append(int(temperatures[i][3])) highest = max(higher) x = sum(lower)/len(lower) y = sum(higher)/len(higher) print('这一周的最低温:', lowest, '°C', '\n最高温:', highest, '°C', '\n平均气温:', int(x), '~', int(y), '°C')
任务4
import random day=random.randint(1,31) for i in range(3): x=input('猜猜2022年5月几日是你的lucky day:') i+=1 if i==3 and day!=int(x): print('次数用光了') print('偷偷告诉你 你的lucky day 是',day) while True: if day == int(x) : print('哇,猜中了') elif int(x) < day and i !=3: print('猜早了,你的lucky day 还没到呢') elif int(x) > day and i!=3: print('猜晚了,你的lucky day 已经过了')
任务5
# 编程实现一个十进制到二进制、八进制、十六进制的转换程序。 # 要求:不使用Python标准库提供的进制转换工具,根据进制转换计算规则自行设计算法并实现。 # 从键盘输入十进制数据x和转换的进制n(n取2或8或16),打印输出x的n进制表示 x = eval(input('输入一个数:')) n = eval(input('输入所要转换的进制:')) 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)