zoukankan      html  css  js  c++  java
  • #父与子的编程之旅#第十三章

    第十三章将函数

    我的理解是,函数是一个方便重复调用的模块,不像命令行每次实现相同的功能都得重新敲一次实现的过程,函数可以有效提高代码的重复利用率

    1、使用哪个关键字来创建函数?Python中使用def关键字来定义函数,如:def 函数名()

    2、如何调用函数?定义好函数之后,如果一直不调用它,那么函数并没有任何价值,调用函数我们常常直接写:函数名(),就可以完成函数的调用

    3、如何向函数传递参数?定义和调用函数的时候,我们常常会使用参数。参数的作用是可以让不同的对象实现相同的功能。比如写一个统计个人信息的函数,如果我想统计一个班级所有人的基本信息,我可以给函数传递一个参数,参数是班级中每个人的学好或者名字,通过传递参数,我们可以针对班级中不同的人实现统计基本信息这个功能。定义:def 函数名(形式参数1,形式参数2,...),调用:函数名(实参1,实参2,...)

    4、函数最多可调用多少个参数?一般函数中的参数不超过5至6个,如果超过则使用一个列表将参数都收集进去,然后传递这个列表即可。

    5、如何从函数返回信息?Python使用关键字returnl实现返回值的传递。将变量返回到调用该函数的位置。如:return 变量名 

    6、函数运行结束以后,函数中的局部变量会被删除,局部变量在函数运行结束之后就不存在了。Python中global关键字可以将局部变量强制转换为全局变量。

     1 #动手试一试T1。编写一个函数,用大写字母打印你的名字,就像这样:
     2 '''
     3   CCCC       A       RRRRR  TTTTTTT  EEEEEE  RRRRR
     4  C    C     A A      R    R    T     E       R    R
     5 C          A   A     R    R    T     EEEE    R    R
     6 C         AAAAAAA    RRRRR     T     E       RRRRR
     7  C    C  A       A   R    R    T     E       R    R
     8   CCCC  A         A  R     R   T     EEEEEE  R     R
     9 
    10 编写一个程序多次调用这个函数
    11 '''
    12 
    13 def yourName(name):
    14         if name == 'carter':
    15             print '  CCCC       A       RRRRR  TTTTTTT  EEEEEE  RRRRR  '
    16             print ' C    C     A A      R    R    T     E       R    R '
    17             print 'C          A   A     R    R    T     EEEE    R    R '
    18             print 'C         AAAAAAA    RRRRR     T     E       RRRRR  '
    19             print ' C    C  A       A   R    R    T     E       R    R '
    20             print '  CCCC  A         A  R     R   T     EEEEEE  R     R'
    21 
    22 name = raw_input("Enter your name: ")
    23 yourName(name)
    24   
    25 #动手试一试T2。建立一个函数,可以打印全世界任何人名、地址、街道、城市、州或省、邮政编码和国家
    26 #(提示:这需要7个参数。可以把它们作为单独的参数传入,也可以作为一个列表)
    27 
    28 def whereAreYou(address):
    29         n = len(address)
    30         for i in range(n):
    31                 print address[i],
    32 address = []
    33 address.extend(raw_input("Enter your information: such as name street \
    34                          city province postnumbers and state"))
    35 whereAreYou(address)        
    36 
    37 #动手试一试T3。尝试使用代码清单13-7的例子,不过要求my_price是全局变量,以便看到结果输出有什么区别。
    38 
    39 def calculateTax(price,tax_rate):
    40     total = price + (price * tax_rate)
    41     print my_price
    42     
    43     global my_price
    44     my_price = 10000
    45     print "my_price (inside function) = ",my_price
    46     return total
    47 
    48 my_price = float(raw_input("Enter a price: "))
    49 
    50 totalPrice = calculateTax(my_price,0.06)
    51 print "price =", my_price, " Total price =", totalPrice
    52 print "my_price (outside function) = ", my_price
    53 
    54 #动手试一试T4。编写一个函数计算零钱的总面值,包括5分币、二分币和一分币
    55 #(类似于第5章中最后一个“动手试一试”问题)。函数应当返回这些硬币的总面额值
    56 #然后编写一个程序调用这个函数。程序运行时应当得到类似下面的输出;
    57 '''
    58 quarters: 3
    59 dimes: 6
    60 nickels: 7
    61 pennies: 2
    62 total is $1.72
    63 '''
    64 def howMuch(q,d,n,p):
    65         total = q * 0.25+d * 0.1+n * 0.05+p * 0.01
    66         return total
    67 quarters = int(raw_input("quarters: "))
    68 dimes = int(raw_input("dimes: "))
    69 nickels = int(raw_input("nickels: "))
    70 pennies = int(raw_input("pennies: "))
    71 
    72 print "toptal is $",howMuch(quarters,dimes,nickels,pennies)
  • 相关阅读:
    Mysql密码操作
    最长公共子串(2017蓝桥杯省赛)
    一和零(leetcode)
    leetcode 235周赛
    袋子里最少数目的球(leetcode)
    第七周课后作业
    第四周jsp作业
    3.10
    3.4课堂练习
    DS博客作业05-查找批改
  • 原文地址:https://www.cnblogs.com/weimiaomiao/p/5334889.html
Copyright © 2011-2022 走看看