实验3

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

问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?[0,5),不包括

利用 list(range(1,5)) 生成的有序序列范围是?是否包括5?(1,5),不包括

问题3:使用line8生成的集合s1,len(s1)一定是5吗?回答并说明你的理由。一定,因为s1是range(5)

问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?回答并说明你的理由。一定,因为len(s2)不满足<5时程序停止运行

#task2.py
dates = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']}
a=list(dates.values())
b=[]
for m in a:
    for n in m:
        b.append(n)
c={}
for i in b:
    c[i]=b.count(i)
d=list(c.items())
e=sorted(d,key=lambda n: n[1],reverse=True)
for m,g in e:
    print(f'{m}:{g}')

#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']]
a=[]
b=[]
for i in temperatures:
    a.append(eval(i[2]))
    c=min(a)
    b.append(eval(i[3]))
    d=max(b)
m=sum(a)//7
n=sum(b)//7
print(f'未来一周最低气温:{c}℃\n未来一周最高气温:{d}℃\n未来一周平均气温区间:{m}℃-{n}℃')

#task4.py
import random
a=random.randint(1,31)
print('猜猜五月的哪一天是你的lucky day:-')
i=0
while i<3:
    b = int(input('你有三次机会,猜吧(1~31):'))
    if b ==a:
        print('猜中了猜中了')
        break
    else:
        if b<a:
            print('猜早了')
        else:
            if b>a:
                print('猜晚了')
        i+=1
print(f'偷偷告诉你,你五月的lucky day是{a}号')

 

 

#task5.py
x, n = eval(input("输入十进制整数和要转换的进制n(2或8或16): "))
a = x
y = []
list = ["A", "B", "C", "D", "E", "F"]
while x != 0:
     p = x % n
     if n == 16:
         if p > 9:
             b = p%10
             p = list[b]
     y.append(p)
     x = x // n
y.reverse()
z = "".join("%s" % i for i in y)
print(f'{a}的{n}进制是:',z)

 

posted @ 2022-04-25 23:50  思杰  阅读(14)  评论(4编辑  收藏  举报