""" 函数的概念: S = πr²,当我们知道半径r的值时,就可以通过公式计算出面积,假设我们需要计算3个不同大小的圆的面积: 出现了几乎完全重复的代码,每次计算圆的面积的时候我们都是通过3.14*x*x(其中x是圆的半径)的方式计算出来的,这样写不仅非常麻烦, 而且,当我们需要提高圆周率的精度时,把3.14改成3.14159265359的时候,我们需要修改涉及到的三行代码。 我们可以使用函数,把重复的逻辑代码封装起来,这样子,我们就不需要每次计算的时候,都写3.14*x*x这样的代码了; 当我们使用函数的时候,我们只需要定义一次,就可以多次使用。 我们把封装重复逻辑代码的过程就做抽象,抽象是数学中非常常见的概念。 """ r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3 print(s1, s2, s3) # 用函数写 def area(r): s = 3.14 * r * r print(s) area(12.34) """ 部分内置函数:abs() int() str() """ print(abs(-100)) # 100,绝对值函数 # print(abs(-100, 2)) # print(abs('122')) print(int('123')) print(str(123)) """ 练习: sum()函数接收一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + ... + 100*100。 """ L = [] x = 1 while x <= 100: L.append(x * x) x += 1 print(sum(L)) # 重写abs函数 def my_abs(x): if x >= 0: return x else: return -x print(my_abs(-1.5)) # 定义一个list_sum函数 def list_sum(L): result = 0 for i in L: result += i return result res = list_sum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(res) # 55 """ 在上述的案例中,使用return返回了计算的结果,在外部调用这个函数的时候,就可以接收到结果。 有时候函数是没有返回结果的,这个时候从函数获取到的是一个空值None。 我们对list_sum()这个函数进行简单的修改,在函数内把结果打印出来,不通过return返回结果。 """ def list_sum(l): result = 0 for i in l: result += i print('result is {}'.format(result)) return l = [1, 3, 5, 7, 9, 11] result = list_sum(l) print(result) # None """ 定义一个函数data_of_square,接收边长一个参数,同时返回正方形的周长和面积 """ def data_of_square(side): c = 4 * side s = side * side return c, s c, s = data_of_square(3) print('正方形的周长:{}'.format(c)) print('正方形的面积:%d' % s) """ 正方形的周长:12 正方形的面积:9 """ result = data_of_square(3) # (12, 9),结果值是tuple,可通过下标取值 c = result[0] s = result[1] print(c, s) """ 定义一个函数sub_sum(),这个函数接收一个列表作为参数,函数返回列表所有奇数项的和以及所有偶数项的和 """ def sub_sum(L): odd_number = 0 even_number = 0 for i in L: if i % 2 != 0: odd_number += i else: even_number += i return odd_number, even_number L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = sub_sum(L) print('奇数项之和为:{}' .format(result[0])) # 30 25 print('偶数项之和为:{}' .format(result[1])) # 30 25
标签:return,函数,sum,list,day3,result,print From: https://www.cnblogs.com/purewhite/p/17179545.html