实验三

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吗?
一定
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])

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)))

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('哇,猜中了:-)')

x=int(input('输入十进制整数:'))
n=int(input('要转换的进制:'))
a=[]
if n==2 or n==8:
    while x//n!=0:
        a.insert(0,x%n)
        x=x//n
    else:
        a.insert(0,x%n)
elif n==16:
    b=int(x%n)
    while x//n!=0:
        if b==10:
            b='A'
        elif b==11:
            b='B'
        elif b==12:
            b='C'
        elif b==13:
            b='D'
        elif b==14:
            b='E'
        elif b==15:
            b='F'
        elif 0<=b<=9:
            b=str(x%n)
        a.insert(0,b)
        x=x//n
    else:
        a.insert(0,x%n)
for i in a:
    print(i,end='')

 

posted @ 2022-04-25 17:10  Saloi  阅读(19)  评论(3编辑  收藏  举报