实验八 列表

菜鸡的bk / 2023-08-02 / 原文

实验八 列表

一、实验目的

1、培养分析问题并对进行建模的能力。
2、熟练运用列表解决实际问题。

二、实验内容

1、给定一个列表(纯数字),求最大值,求最小值,求平均值、求和 (不能使用系统函数)。

2、输入一个由英文单词组成的字符串(分隔符自定)(input),将每个单词的长度计算出来并形成一个新列表,并统计所有单词的平均长度。

如:输入:‘apple, banana, Pear, orange’

输出:[5,6,4,6] 5

3、某学校有3间空宿舍,现有4位老师,请编写程序,将4位老师随机分配到3间宿舍,并在最后输出每个房间号对应的老师人数以及老师名字。

比如:房间1的人数是2

老师的名字是wang

老师的名字是zhao

房间2的人数是1

老师的名字是li

房间3的人数是1

老师的名字是zhang

三、代码与结果

'''1、给定一个列表(纯数字),求最大值,求最小值,求平均值、求和 (不能使用系统函数)。'''

# l=input('请输入一串数字,以逗号隔开:')

# ls=l.split(',')

# a = avg = sum = 0

# b =1000000000000

# for i in range(len(ls)):

# if int(ls[i])>a:

# a=int(ls[i])

# if int(ls[i])<b:

# b=int(ls[i])

# sum+=int(ls[i])

# avg=sum/len(ls)

# print("最大值为:{},最小值为:{},平均值为:{},求和为:{}".format(a,b,avg,sum))

实验结果1

'''2、输入一个由英文单词组成的字符串(分隔符自定)(input),将每个单词的长度计算出来并形成一个新列表,并统计所有单词的平均长度。

如:输入:‘apple, banana, Pear, orange’

输出:[5,6,4,6] 5'''

# l=input('请输入一串字母,以逗号隔开:')

# ls=l.split(', ')

# list=[]

# sum=avg=0

# for i in ls:

# list.append(len(i))

# sum+=len(i)

# avg=sum//len(list)

# print(list)

# print(avg)

实验结果2

'''3、某学校有3间空宿舍,现有4位老师,请编写程序,将4位老师随机分配到3间宿舍,并在最后输出每个房间号对应的老师人数以及老师名字。

比如:房间1的人数是2

老师的名字是wang

老师的名字是zhao

房间2的人数是1

老师的名字是li

房间3的人数是1

老师的名字是zhang'''

import random

sushes=[[],[],[]]

teachers=['wang','zhao','li','zhang']

while(teachers):

for teacher in teachers:

num=random.randint(0,2)

if(len(sushes[num])>=2):

continue

sushes[num].append(teacher)

teachers.remove(teacher)

for i in range(3):

print("房间{}的人数是{}".format(i + 1, len(sushes[i])))

for j in range(len(sushes[i])):

print('老师的名字是{}'.format(sushes[i][j]))

实验结果3

四、讨论与思考

1.在杂乱的数据中,python可以按照一定格式不断分割成列表在对其进行索引判断,最大值、最小值、求和以及平均值。

2.对于字符串长度可以分割后在再选择逐个判断,最后统一放入列表中存储。

3.随机分配函数random函数库中random.randint(a,b)调用生成随机整数。用整数针对宿舍成员进行分配。分配完成后重新储存进入宿舍列表中。后续可以利用遍历结合format格式化输出做到按照一定格式输出。