Python实例对象用于引用自身的变量是python实例方法调用类方法
下载地址 https://share.weiyun.com/OvviwGnZ
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面 Python考试题复习知识点试卷试题 PYTHON测试题和答案 python第一阶段考试题 Python经典面试题和答案解析 python期末考试复习试卷 python习题集大全(附答案解析) 老男孩Python全栈7期练习题(面试真题模拟) 尚观python第一阶段考试(面试真题模拟) 《Python程序设计基础与应用》习题答案 《Python快速编程入门》——课后题答案 Python编程基础张健 , 张良均课后习题及答案 Python程序设计基础及实践(慕课版)郭炜习题答案 Python程序设计基础习题答案与分析 python基础试题(含答案)
举例 计算三角形的周长和面积 题目要求 写一段程序,让用户输入三角形的三条边长,如果三条边长不能构成三角形,则提示用户重新输入 如果可以构成三角形,则计算周长和面积 思路分析 对于用户的输入,首先要约定格式,这里简单的约定为每个边长之间用空格间隔 在获得用户的输入以后,要对输入进行检查,有两点需要检查 (1) 检查是不是输入了三条边的边长,输入2个或者4个都是错误的 (2) 检查输入的内容是不是数值型,如果输入的是字母,那根本驴唇不对马嘴 以上两点是编程时要考虑的,经过上面的分析你应该有所体会,编程,并不是你掌握一门语言然后用它在计算机上做各种操作 编程,是对问题的思考,我这里约定让用户一次性输入三条边的边长,中间用空格隔开,你也可以让用户输入三次,也可以让用户输入一次但用别的字符做间隔,这些都是没有定论的,完全取决于你的思考 对于输入内容检查,你可能会以为python会自己完成,但其实不会,input获得的就是字符串,你必须理解什么是字符串,必须清楚的知道input的作用,这些都是最最基础的内容,如果你不掌握这些,那你就无法思考 根本不存在一种方法或者操作可以满足你的要求,可以解决实际的问题,编程就是分析问题然后你自己解决问题的过程 def get_edge(line): """ 根据用户的输入获得三条边 用户输入三条边的长度,用空格隔开 类似于 3 4 5 :param line: :return: """ edge_lst = line.split(" ") # 如果输入条数不是3 if len(edge_lst) != 3: return False, (0, 0, 0) try: # raw_input 获得用户的输入,得到的是字符串,这里把字符串转成float数值 edge_lst = [float(item) for item in edge_lst] except: return False, (0, 0, 0)
return True, (edge_lst[0], edge_lst[1], edge_lst[2])
def is_able_triangle(a, b, c): """ 判断能否构成三角形 :param a: :param b: :param c: :return: """ return (a + b > c) and (a + c > b) and (c + b > a)
def triangle_func(): while True: line = input('输入三角形的三个边长,用空格隔开,退出请输入q:') if line == 'q': break input_correct, edges = get_edge(line) if not input_correct: print('输入错误') continue
if not is_able_triangle(edges[0], edges[1], edges[2]): print('不能构成三角形') continue
perimeter = sum(edges) half_perimeter = perimeter//2 area = (half_perimeter*(half_perimeter-edges[0])*(half_perimeter-edges[1])*(half_perimeter-edges[2])) ** 0.5
print('周长: {perimeter} 面积:{area}'.format(perimeter=perimeter, area=area))
if __name__ == '__main__': triangle_func()
|