实验四
实验任务1
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?
不能
问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?
不包括
利用 list(range(1,5)) 生成的有序序列范围是?是否包括5?
不包括
问题3:使用line8生成的集合s1,len(s1)一定是5吗?
不一定
问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?
一定是
实验任务2
task2.py
datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']}
l = []
x = []
li = list(datas.values())
for i in li:
for j in i:
l.append(j)
for s in l:
x.append(l.count(s))
d = dict(zip(l,x))
y = sorted(list(d.items()),reverse=True)
for key,value in y:
print(f'{key}:{value}')

实验任务3
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']]
x = []
y = []
m = 0
n = 0
for i in range(len(temperatures)):
x.append(int(temperatures[i][2]))
for j in range(len(temperatures)):
x.append(int(temperatures[j][3]))
for s in range(int(len(x)/2)):
m += x[s]
n += x[s+7]
print('未来一周最低气温;{}'.format(min(x)))
print('未来一周最高气温:{}'.format(max(x)))
print('未来一周平均气温区间:{:.0f}-{:.0f}'.format(n/7,m/7))

实验任务4
task4.py
import random
x = random.randint(1,31)
i = 1
while i<=3:
y = eval(input('输入一个日期:'))
if y < x:
print('日期早了哦')
elif y > x:
print('日期晚了哦')
elif y == x:
print('猜中了!!!')
break
i+=1
if y!=x:
print('正确答案是:{}呢'.format(x))

实验任务5
task5.py
i = 0
while i < 3:
ls = []
l = []
x, n = eval(input('输入十进制整数和要转换的进制n(2,8,16):'))
while x > 0:
a = x%n
x = x//n
l.append(a)
for j in l:
ls.append(str(j))
ls.reverse()
s = ''.join(ls)
if i == 2:
s = s.replace('10','A')
print(s)
i+=1



浙公网安备 33010602011771号