• python编程从零基础到项目实践第六章学习---函数 一个完整的求因数函数的完善步骤


    1、函数的概念

    之前代码是过程语言,多少个数的和,都是按着逻辑顺利一行一行的写,为了方便,就把代码组织成一个独立的功能单位,供其他代码反复调用。

    函数的优点:代码会简练    能提高代码编写效率和质量    代码功能可以自由共享

    函数的基本用法:

    def 函数名([参数]):

      函数体

      [return 返回值]

    不带参数格式的求因数的自定义函数

    def 函数名():

      函数体

    def factor_no_para():
    i=1
    nums=10
    print("%d的因数是:"%(nums))
    while i < nums:
    if nums %i==0:
    print("%d"%(i))
    i+=1


    print(type(factor_no_para()))

    10的因数是:
    1
    2
    5
    <class 'NoneType'>


    print(type(factor_no_para)) <class 'function'>

    带参数函数的格式

    def 函数名([参数]):

      函数体

    def find_factor(nums):
    i=1
    str1=""
    print("%d的因数是:"%(nums))
    while i <=nums:
    if nums%i==0:
    str1=str1+""+str(i)
    i+=1
    print(str1)

    num2_L=[10,15,18,25]
    i=0
    num_len=len(num2_L)
    while i < num_len:
    find_factor(num2_L[i])
    i+=1
    
    

    10的因数是:
    12510
    15的因数是:
    13515
    18的因数是:
    1236918
    25的因数是:
    1525

    带返回值的函数

    def 函数名([参数]):

      函数体

      [return 返回值]

    不带返回值的函数都会默认返回None

    def find_factor(nums):
    i=1
    str1=""
    print("%d的因数是:"%(nums))
    while i <=nums:
    if nums%i==0:
    str1=str1+""+str(i)
    i+=1
    return str1

    num2_L=[10,15,18,25]
    i=0
    num_len=len(num2_L)
    return_str=""
    while i < num_len:
    return_str=find_factor(num2_L[i])
    print("%d的因数是:%s"%(num2_L[i],return_str))
    i+=1

    10的因数是:
    10的因数是:12510
    15的因数是:
    15的因数是:13515
    18的因数是:
    18的因数是:1236918
    25的因数是:
    25的因数是:1525

    为了以后的函数方便查询,可以加上注释

    def find_factor(nums):
    """find_factor是自定义函数
    num是传递一个正整数的参数
    以字符串的形式返回一个正整数的所有因数"""
    i=1
    str1=""
    print("%d的因数是:"%(nums))
    while i <=nums:
    if nums%i==0:
    str1=str1+""+str(i)
    i+=1
    return str1
    help(find_factor)

    Help on function find_factor in module __main__:

    find_factor(nums)
    find_factor是自定义函数
    num是传递一个正整数的参数
    以字符串的形式返回一个正整数的所有因数

    更加完善健壮性   输入不符合的类型时会出问题

    def find_factor(nums):
    """find_factor是自定义函数
    num是传递一个正整数的参数
    以字符串的形式返回一个正整数的所有因数"""
    if type(nums)!=int:
    print("必须输入整数")
    return
    if nums <=0:
    print("输入值范围出错")
    return
    i=1
    str1=""
    while i <=nums:
    if nums%i==0:
    str1=str1+""+str(i)
    i+=1

    return str1

    print(find_factor(-9))

    输入值范围出错
    None

    print(find_factor("aa"))

    必须输入整数







  • 相关阅读:
    初级Linux学习指南
    2016/09/29 SQL中的join
    2016/09/27 Hadoop Yarn
    2016/06/27 HDFS概述
    2016/09/26 电能和电功率
    【转】2016/09/22 MapReduce初级案例
    2016/09/22 mapreduce
    2016/09/21 java关键字static
    2016/09/21 Java关键字final
    2016/09/21 java split用法
  • 原文地址:https://www.cnblogs.com/astroboyliu/p/13367224.html
Copyright © 2020-2023  润新知