实践任务3 ……
task_2
def takeSecond(elem):
return elem[1]
data = {'2049777001':['篮球','羽毛球','美食','漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']
}
data1 = []
data2 = []
a = list(data.values())
for i in a:
for j in i:
data1.append(j)
data1.sort()
for i in list(set(data1)):
h = (i,data1.count(i))
data2.append(h)
data2.sort(key=takeSecond,reverse=True)
for i in data2:
print(f"{i[0]} : {i[1]}")
task_1
#test1
import random #random.randint(1,100) 随机抽数字
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)
#
s3 = {random.randint(1,3) for i in range(3)}
print(s3)
print(list(range(5)))
print(list(range(1,5)))
print(len(s2))
#1.2. 字典的输出个数是随机的 因为会把重复输出的去掉 列表的输出个数是一定的
# 问题1:random.randint(1,100)生成的随机整数范围是?能否取到100? 可以取到一百 范围是(1,100)
# 问题2:利用list(range(5))生成的有序序列范围是?是否包括5? 范围是1-4 不包括5 利用list(range(1,5))生成的有序序列范围是?是否包括5? 范围是0-4 不包括5
# 问题3:使用line8生成的集合s1,len(s1)一定是5吗? 一定是5
# 问题4:使用line12-14生成的集合s2,len(s2)一定是5吗? 一定是5

task_3
#task-3
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']]
low = []
high = []
tem = []
for i in temperatures:
low.append(int(i[2]))
high.append(int(i[3]))
tem = low+high
n = sum(high)
m = sum(low)
print(f'未来一周最低气温是:{min(low)}°C\n未来一周最高气温是:{max(high)}°C\n未来一周的平均气温是:{int(m/6)}°C~{int(n/6)}°C\n')

import random
x=random.randint(1,31)
c=eval(input("猜猜2022年5月那一天会是你的lucky day你又三次机会,猜吧(1~31):"))
i=1
while i<3:
if c<x:
print("猜早啦,你的lucky day还没到呢呢")
c=eval(input("再猜再猜:"))
i+=1
elif c>x:
print("猜晚啦,你的lucky day已经过了呢")
c=eval(input("再猜再猜(1~31):"))
i+=1
else:
print("蛙,猜对啦:-")
i=4
if i==3 and c<x:
print("前面次数用完啦,")
print(f"偷偷告诉你2022年5月你的lucky day 是{x}号")
elif i==3 and c>x:
print("次数用完啦")
print(f"2022年5月你的lucky day 是{x}号")
else:
print("蛙,猜对啦:-")

# task——5
x,n = eval(input('输入整数x与需要转化的进制数n(2,8,16):'))
h = x
x1,n1 = x,n
i=1
list=[]
list1=["A","B","C","D","E","F"]
while i>0:
x1=i
i=x//n
c=x%n
x=i
if i!=0 and c>=10:
c=list1[c-10]
list.append(c)
elif i!=0 and c<10:
list.append(c)
else:
if x1>10:
x1=list1[x1-10]
list.append(x1)
else:
list.append(x1)
list.reverse()
print(f"{h}的{n1}进制是",end=":")
for i in list:
print(f"{i}",end="")

浙公网安备 33010602011771号