Python课堂作业
1.从开发的代码库中得到一组数据,表示每个文件的代码变更情况{'login.py': 'a 8 d 2 u 3', 'order.py': 'a 15 d 0 u 34', 'info.py': 'a 1 d 20 u 5'}其中 a表示新增行数,d表示删除行数,u表示修改行数。login.py的变更行数为13
要求:统计出每个文件的变更行数
data = {'login.py': 'a 8 d 2 u 3', 'order.py': 'a 15 d 0 u 34', 'info.py': 'a 1 d 20 u 5'}
for k, v in data.items():
sum = 0
for x in data[k].split(' '):
if x.isdigit(): # 判断是否为数字
sum += int(x)
# try:
# sum += int(x) # 通过try except方法捕获异常实现
# except:
# pass
print('文件:%s,共变更%d行' % (k, sum))
2.写一个方法sanjiao(a, b, c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c”不能构成三角形”,如果可以构成,则显示三角形三个边长,在方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
def san_jiao(a, b, c):
try:
if a + b > c and a + c > b and b + c > a:
print("三角形三个边长分别为{},{},{}".format(a, b, c))
else:
raise Exception("IllegalArgumentException")
except Exception as result:
print("异常为:", result, "{},{},{}不能构成三角形".format(a, b, c))
# san_jiao(3, 4, 5)
san_jiao(1, 2, 3)
3.从命令行得到5个整数,放入一列表中,然后打印输出,要求:如果输入数据不为整数,要捕获产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(越界),显示“请输入至少5个整数”。
numbers = []
for i in range(1, 6):
try:
num = int(input("请输入第" + str(i) + "个整数"))
except:
print("请输入整数")
else:
numbers.append(num)
if len(numbers) < 5:
raise IndexError("请输入至少5个整数")
4.编写代码,调用CCircle方法,计算圆的面积。并且自己定义一个异常类,如果半径为负值,抛出自己定义的异常。
import math class MathException(Exception): def __init__(self, radius): self.radius = radius def CCircle(radius): if radius < 0: raise MathException("半径为负值") else: print("圆的面积为:{:.2f}".format(math.pi * (radius ** 2))) #CCircle(-1) CCircle(3)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY