你牛逼你第一,你在海里开飞机。
目录
3.以函数的形式从csv文件(自行准备)中以读取多行数据的方式读取文件后组成一个二维列表打印输出,再以函数的形式写入另一个csv文件中。
4.学校招聘了9名新教师,学校有3个空闲办公室,编写程序实现将9名教师随机平均分配到3个办公室的功能
5.编写一段代码要求使用异常处理的各种方式(捕获、抛出、断言)
一、实验目的
1.计算1-100能被10整除的数之和。
2.打印99乘法表。
3.以函数的形式从csv文件(自行准备)中以读取多行数据的方式读取文件后组成一个二维列表打印输出,再以函数的形式写入另一个csv文件中。
4.学校招聘了9名新教师,学校有3个空闲办公室,编写程序实现将9名教师随机平均分配到3个办公室的功能
5.编写一段代码要求使用异常处理的各种方式(捕获、抛出、断言)
二、实验环境
安装pycharm2023.3.4
安装适配的jdk
三、实验步骤
1.计算1-100能被10整除的数之和。
- 接收用户所输入的值的范围
- 使用if语句判断是否输入正确
- 当接收到需要计算的范围时,使用for循环进行遍历
- 当该数对10取余为0时,就符合条件,使用i来计数,使sum自增
- 最后输出sum的值
2.打印99乘法表。
- 设置嵌套循环
- i控制行,j控制列
- 以“{i}*{j}={i*j}”格式打印出来
- 注意格式化输出
3.以函数的形式从csv文件(自行准备)中以读取多行数据的方式读取文件后组成一个二维列表打印输出,再以函数的形式写入另一个csv文件中。
- 读取CSV文件:使用Python内置的csv库,通过打开CSV文件并调用csv.reader()方法来实现读取CSV文件。
- 组成二维列表:在读取CSV文件后,遍历每一行数据并将其组成一个列表,最终再将所有列表组成一个二维列表。
- 打印输出:使用Python内置的print函数将二维列表打印输出。
- 写入CSV文件:同样使用Python内置的csv库,通过打开一个新的CSV文件并调用csv.writer()方法来实现将二维列表写入到新的CSV文件中。
4.学校招聘了9名新教师,学校有3个空闲办公室,编写程序实现将9名教师随机平均分配到3个办公室的功能
- 导入random模块,因为该题目需要用到随机分配功能
- 新建一个列表,把老师放进去
- 再新建一个列表把教室放进去
- 随机生成0/1/2的整数,使用append将老师添加进教室的列表
- 打印出每个教室的老师
5.编写一段代码要求使用异常处理的各种方式(捕获、抛出、断言)
- 使用try-except语句进行异常捕获。
- 使用raise语句抛出异常。
- 使用assert语句进行断言。
四、实验结果
1.计算1-100能被10整除的数之和。
# 1.计算1-100能被10整除的数之和。
sum = 0
for i in range(1,101):
if i%10 == 0:
sum += i
print(f"1~100能被10整除的数之和为:{sum}")
#拥抱用户需求
sum = 0
min = int(input("请输入您所需要计算的下限:"))
max = int(input("请输入您所需要计算的上限:"))
if min > max:
print("嗯?分不清大小王是吧?")
else:
for i in range(min,max):
if i%10 == 0:
sum += i
print(f"{min}~{max}能被10整除的数之和为:{sum}")
2.打印99乘法表。
# 2.打印99乘法表
for i in range(1,10):
for j in range(1,10):
print(end="\t")
print(f"{i}*{j}={i*j}",end="")
print()
3.以函数的形式从csv文件(自行准备)中以读取多行数据的方式读取文件后组成一个二维列表打印输出,再以函数的形式写入另一个csv文件中。
# 3.以函数的形式从csv文件(自行准备)中以读取多行数据的方式读取文件后组成一个二维列表打印输出,再以函数的形式写入另一个csv文件中。
import csv
def read_csv_file(filename):
data = []
with open(filename, newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
data.append(row)
return data
# 示例:读取名为data.csv的文件并打印输出
data = read_csv_file('data.csv')
for row in data:
print(row)
import csv
def write_csv_file(data, filename):
with open(filename, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)
# 示例:将名为output.csv的文件中写入数据
data = [['Name', 'Age', 'Gender'], ['Alice', 25, 'Female'], ['Bob', 30, 'Male']]
write_csv_file(data, 'output.csv')
4.学校招聘了9名新教师,学校有3个空闲办公室,编写程序实现将9名教师随机平均分配到3个办公室的功能
# 4.学校招聘了9名新教师,学校有3个空闲办公室,编写程序实现将9名教师随机平均分配到3个办公室的功能
import random
# 定义教师列表和办公室列表
teachers = ['teacher1', 'teacher2', 'teacher3', 'teacher4', 'teacher5', 'teacher6', 'teacher7', 'teacher8', 'teacher9']
offices = [[], [], []] # 三个办公室
# 随机分配教师到办公室
for teacher in teachers:
index = random.randint(0, 2) # 随机生成0、1、2的整数
offices[index].append(teacher) # 将教师添加到对应的办公室中
# 打印每个办公室的教师
for i in range(3):
print(f"办公室{i+1}的教师有:{offices[i]}")
5.编写一段代码要求使用异常处理的各种方式(捕获、抛出、断言)
# 5.编写一段代码要求使用异常处理的各种方式(捕获、抛出、断言)
try:
a = int(input("请输入一个数字:"))
b = int(input("请输入另一个数字:"))
c = a / b
print("结果为:", c)
except ZeroDivisionError:
print("除数不能为0")
except ValueError:
print("输入的不是数字")
except:
print("出现了其他异常")
def divide(a, b):
if b == 0:
raise ZeroDivisionError("除数不能为0")
return a / b
try:
c = divide(10, 0)
except ZeroDivisionError as e:
print(e)
def divide(a, b):
assert b != 0, "除数不能为0"
return a / b
c = divide(10, 0)
五、实验心得
“纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而老师所讲的,都是非常实用的东西,这又给我们的实训增加了浓墨淡采的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。