x = float(input('x = ')) if x > 1: y = 3 * x - 5 else: if x >= -1: y = x + 2 else: y = 5 * x + 3 print('f(%.2f) = %.2f' % (x, y))
说明: 大家可以自己感受一下这两种写法到底是哪一种更好。在之前我们提到的Python之禅中有这么一句话“Flat is better than nested.”,之所以提倡代码“扁平化”是因为嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,所以能使用扁平化的结构时就不要使用嵌套。
练习
练习1:英制单位英寸与公制单位厘米互换。
参考答案:
1 2 3 4 5 6 7 8 9 10 11 12 13
""" 英制单位英寸和公制单位厘米互换 Version: 0.1 """ value = float(input('请输入长度: ')) unit = input('请输入单位: ') if unit == 'in'or unit == '英寸': print('%f英寸 = %f厘米' % (value, value * 2.54)) elif unit == 'cm'or unit == '厘米': print('%f厘米 = %f英寸' % (value, value / 2.54)) else: print('请输入有效的单位')
""" 判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积 """ a = float(input('a = ')) b = float(input('b = ')) c = float(input('c = ')) if a + b > c and a + c > b and b + c > a: print('周长: %f' % (a + b + c)) p = (a + b + c) / 2 area = (p * (p - a) * (p - b) * (p - c)) ** 0.5 print('面积: %f' % (area)) else: print('不能构成三角形')