实验三

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)生成的随机整数范围是1-100,能取到100。

问题2:

list(range(5))生成的有序序列范围是0-4,不包括5。

list(range(1,5))生成的有序序列范围是1-4,不包括5。

问题3:

使用line8生成的集合s1len(s1)一定是5。

问题a:

使用line12-14生成的集合s2len(s2)一定是5

task 2

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
         '2049777002': ['音乐', '旅行'],
         '2049777003': ['马拉松', '健身', '游戏'],
         '2049777004': [],
         '2049777005': ['足球', '阅读'],
         '2049777006': ['发呆', '闲逛'],
         '2049777007': [],
         '2049777008': ['书法', '电影'],
         '2049777009': ['音乐', '阅读', '电影', '漫画'],
         '2049777010': ['数学', '推理', '音乐', '旅行']
         }
dict={}
for k in datas.values():
    for i in k:
       dict[i] = dict.get(i, 0) + 1
a=sorted(dict.items(),key=lambda x:x[1],reverse=True)
for key,value in a:
    print(f'{key}:{value}')

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']]
a=[i[2] for i in temperatures]
b=[i[3] for i in temperatures]
max=max(b)
min=min(a)
sum1=0
sum2=0
for c in a:
    sum1=sum1+int(c)
for d in b:
    sum2=sum2+int(d)
a1=int(sum1)//7
a2=int(sum2)//7
print('未来一周最低气温:{}℃'.format(min))
print('未来一周最高气温:{}℃'.format(max))
print('未来一周平均气温区间: {}°C ~ {}°C'.format(a1,a2))

task 4

import  random
a=random.randint(1,31)
print('猜猜2022年5月哪天是你的lucky day:')
count=0
while  (count<3):
    x = int(input('你有三次机会,猜吧(1-31):'))
    if x==a:
        print('哇,猜中啦')
        break
    elif x < a:
        print('猜早啦,你的lucky day 还没到呢')
    else:
        print('猜晚了,你的lucky day 已经过啦')
    count += 1
    if count==3:
        print('次数用完啦.')
        print('偷偷告诉你,5月你的lucky day 是{}号。 good luck!'.format(a))

task5

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 on 2022-04-25 21:27  Lil不要被人喂啦  阅读(12)  评论(3编辑  收藏  举报