实践任务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="")

 

 

posted @ 2022-04-25 21:18  奈落——  阅读(19)  评论(2编辑  收藏  举报