实验三

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,可以取到100
问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?
大于等于0小于5,不包括5
利用 list(range(1,5)) 生成的有序序列范围是?是否包括5?
大于等于1小于5,不包括5
问题3:使用line8生成的集合s1,len(s1)一定是5吗?
不一定
问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?
一定
task2
datas={'2049777001':['篮球','羽毛球','美食','漫画'],'2049777002':['音乐','旅行'],'2049777003':['马拉松','健身','游戏'],'2049777004':[],'2049777005':['足球','阅读'],'2049777006':['发呆','闲逛'],'2049777007':[],'2049777008':['书法','电影'],'2049777009':['音乐','阅读','电影','漫画'],'2049777010':['数学','推理','音乐','旅行']}
list1=list(datas.values())
list2=[j for item in list1 for j in item]
result={}
for i in list2:
    if i not in result:
        result[i]=1
    else:
        result[i]+=1
for k in sorted(result,key=result.__getitem__,reverse=True):
    print(k,result[k])

task3

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']]
list1=[]
for i in range(0,7):
    list1.append(temperatures[i][2])
list2=[]
for j in range(0,7):
    list2.append(temperatures[j][3])
a=min(list1)
b=max(list2)
sum1=0
sum2=0
for m in list1:
    sum1+=eval(m)
for n in list2:
    sum2+=eval(n)
minimum=sum1/len(list1)
maximum=sum2/len(list2)
print('未来一周最低气温:{}℃'.format(a))
print('未来一周最高气温:{}℃'.format(b))
print('未来一周平均气温区间:{}℃~{}℃'.format(int(minimum),int(maximum)))

task4

import random
num=random.randint(1,31)
print('猜猜2022年5月哪一天回事你的lucky day:-)')
s=eval(input('你有三次机会,猜吧(1~31):'))
if s!=num:
    if s>num:
        print('猜晚啦,你的lucky day已经过啦')
        i=1
        while i<=2:
            s=eval(input('再猜(1~31):'))
            if s>num:
                print('猜晚啦,你的lucky day已经过啦')
                i=i+1
            elif s<num:
                print('猜早啦,你的lucky day还没到呢')
                i=i+1
            elif s==sum:
                print('哇,猜中啦:-)')
                break
        print('次数用光啦')
        print('偷偷告诉你,5月你的lucky day是{}号。good luck'.format(num))
    elif s<num:
        print('猜早啦,你的lucky day还没到呢')
        i =1
        while i <= 2:
            s = eval(input('再猜(1~31):'))
            if s > num:
                print('猜晚啦,你的lucky day已经过啦')
                i = i + 1
            elif s < num:
                print('猜早啦,你的lucky day还没到呢')
                i = i + 1
            elif s == sum:
                print('哇,猜中啦:-)')
                break
        print('次数用光啦')
        print('偷偷告诉你,5月你的lucky day是{}号。good luck'.format(num))
else:
    print('哇,猜中了:-)')

task5

x,n=input('输入十进制整数x和要转换的进制n(2或8或16)').split(' ')
x=int(x)
n=int(n)
list1=[]
while x!=0:
    a=x%n
    if a in range(10,17):
        list2=['A','B','C','D','E','F']
        list3=['10','11','12','13','14','15']
        a=str(a)
        b=list3.index(a)
        a=a.replace(list3[b],list2[b])
    x=x//n
    list1.append(a)
list1=list1[::-1]

for i in range(len(list1)):
    print(list1[i],end='')

 

 

 

posted @ 2022-04-25 08:40  wfffww  阅读(14)  评论(3编辑  收藏  举报