实验三

#task1.py
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生成的集合s1,len(s1)一定是5吗?(是) 问题4:使用line12-14生成的集合s2,len(s2)一定是5吗? (是)

 

#task2.py
datas={'2049777001':['篮球','羽毛球','美食','漫画'],
         '2049777002':['音乐','旅行'],
         '2049777003':['马拉松','健身','游戏'],
         '2049777004':[],
        '2049777005':['足球','阅读'],
         '2049777006':['发呆','闲逛'],
         '2049777007':[],
         '2049777008':['书法','电影'],
         '2049777009':['音乐','阅读','电影','漫画'],
        '2049777010':['数学','推理','音乐','旅行']
       }
a={}
for i in datas.values():
     for j in i:
         if j not in a:
               a[j]=1
         elif j in a:
                a[j]+=1
b=zip(a.values(),a.keys())
b1=sorted(b,reverse=True)
for m,n in b1:
        print("{}:{}".format(n,m))

#task3.py
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']]
b=[]
s=[]
for i in temperatures:
    b.append(int(i[3]))
    s.append(int(i[2]))
zuidi=min(s)
zuigao=max(b)
sum1=0
sum2=0
for j in b:
     sum1+=j
for k in s:
     sum2+=k
pjd=int(sum2/len(s))
pjg=int(sum1/len(b))
print("未来一周最低气温:{}℃".format(zuidi))
print("未来一周最高气温:{}℃".format(zuigao))
print("未来一周平均气温区间:{}℃~{}℃".format(pjd,pjg))

#task4.py
import random
l=random.randint(1,31)
print("猜猜2022年5月哪一天会是你的lucky day:-)")
a=int(input("你有三次机会,猜吧(1~31):"))
if a==l:
     print("哇,猜中啦:-)")
else:
     if a<l:
         print("猜早啦,你的lucky day还没到呢")
     if a>l:
         print("猜晚啦,你的lucky day已经过啦")
     f=0
     while(f<2):
         b=int(input("再猜(1~31):"))
         if b==l:
             print("哇,猜中啦:-)")
             f=300
         else:
             if b>l:
                 print("猜晚啦,你的lucky day已经过啦")
                 f+=1
             if b<l:
                 print("猜早啦,你的lucky day还没到呢")
                 f+=1
     if f==2:
         print("次数用光啦")
         print("偷偷告诉你,5月你的lucky day是{}号.good luck:-)".format(l))

#task5.py
x,n=eval(input("输入十进制整数x和要转换的进制n(2或8或16):"))
a=[]
c=x
while(c!=0):
     if c%n<10:
         f=str(c%n)
     else:
         f=chr(ord("A")+c%n%10)
     a.append(f)
     c=int((c-c%n)/n)
b="".join(a)
b1=b[::-1]
print("{}的{}进制是:{}".format(x,n,b1))

 

posted @ 2022-04-26 14:18  bamboosama  阅读(9)  评论(2编辑  收藏  举报