欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 函数基础介绍

程序员文章站 2022-04-27 16:43:26
1.什么是函数? 为什么要使用函数?函数是组织好的,可重复使用的,用来是现实单一功能或关联功能的代码段。使用函数可以使代码更简洁,一次定义重复使用。2.函数的文档说明有什么用?用什么方式实现函数文档,如何查看函数文档。为函数提供说明,函数文档写在函数头部,使用help查看def name(): "I like python." return namehelp(name)Help on function name in module __main__:name() I...

1.什么是函数? 为什么要使用函数?

函数是组织好的,可重复使用的,用来是现实单一功能或关联功能的代码段。使用函数可以使代码更简洁,一次定义重复使用。

2.函数的文档说明有什么用?用什么方式实现函数文档,如何查看函数文档。

为函数提供说明,函数文档写在函数头部,使用help查看

def name():
    "I like python."
    return name
help(name)
Help on function name in module __main__:

name()
    I like python.

3.写一个函数,计算任意两个数字之和并返回。

def sum(a,b):
    return a+b;

c=sum(5,3)
print(c)
8

4、什么是函数的嵌套调用,写一个简单的函数嵌套调用用法。

在函数里面调用函数

def functionA():
    print('----A----')
    print('This is functionA')
    print('----A----')

def functionB():
    print('----B----')
    functionA()
    print('----B----')

functionB()
----B----
----A----
This is functionA
----A----
----B----

5、如果函数有返回值,用什么方式返回,如果返回多个值,最终返回的结果数据类型是什么。

使用return语句返回,使用一个结果来接收多个返回值,该结果的类型是元组。

6、函数的参数默认传参方式是什么。形参和实参的区别。

默认方式functionA(a),形参是函数定义时的参数,没有具体的值,相当与变量。实参是实际意义上的参数,可以是字符串或者数字。

7、写一个函数接收一个字符串,返回字符串的长度。

def relength(a):
    b=len(a)
    return b

print("该字符串的长度为:",relength("djasidj"))
该字符串的长度为: 7

8、写一个函数,接收不定长参数,并以列表的形式将所有参数返回。

def split_date(date_):
    """对日期进行切割"""
    return date_.split("-")

def runnian(year):
    """
    判断是否是闰年
    :param year:  年份
    :return: 2非法日期, 1 是闰年,0不是闰年
    """
    if not year or not year.isdigit():
        return 2
    if (int(year) % 4 == 0 and int(year) % 100 != 0) or int(year) % 400 == 0:
        return 1
    else:
        return 0
    
def month(m):
    """
        判断月份是否有效
        
    :param m: 月份
    :return: False 非法月份,True 正确月份
    """
    if 1 <= int(m) <= 12:
        return True
    else:
        return False
    
def day(y, m, d):
    """
    判断日期是否正确
    :return:
    """
    # 普通年的日期,闰年2月29日
    days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    
    if not month(m):
        return False
    if runnian(y) == 2:
        return False
    if runnian(y) == 1:
        # 闰年
        if int(m) == 2:
            if 1 <= int(d) <= 29:
                return True
            else:
                return False
    if 1 <= int(d) <= days[int(m)]:
        return True
    else:
        return False
    
if __name__ == '__main__':
    date = input("请输入一个日期格式如:(2018-3-19):")
    y, m, d = split_date(date)
    result = day(y, m, d)
    if result:
        print("%s是有效日期" % date)
    else:
        print("%s非法日期" % date)
请输入一个日期格式如:(2018-3-19):2018-3-19
2018-3-19是有效日期

9 、 判断有效日期

#1、封装不同函数判断年月日是否正确(至少有闰年判断,月份判断,日期判断几个函数)
#2、要求用户输入一个日期2017-11-30格式,判断这个日期是否有效

def year(y):
    if y%4==0 and y%100!=0 and y%400==0:
        print("该年份为闰年")
    else:
        print("该年份不是闰年")

def month(m):
    if m<1 or m>12:
        print("月份必须在1-12之间")
    else:
        print("月份输入正确")

def day(d):
    if d<1 or d>31:
        print("日期必须在1-31之间")
    else:
        print("日期输入正确")

def q9():
     date=input('请输入日期:')
     date=f'{date}'
     y=int(date[0:4])
     m=int(date[5:7])
     d=int(date[8:10])
     year(y)
     month(m)
     day(d)

10、写一个函数,从键盘接接收(2020-7-16)格式的任意年月日,计算出这是这一年的第几天

def is_leap_year(year):  # 判断闰年,是则返回True,否则返回False
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        return True
    else:
        return False
    
def function1(year, month, day):  #
    # 闰年每月的日期
    leap_year = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    # 平年每月的日期
    no_leap_year = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    
    # 判断月份是否合法
    if month <= 0 or month > 12:
        return '月份非法'
    if is_leap_year(year):
        
        # 闰年
        sum = 0
        for i in range(month - 1):
            sum += leap_year[i]
            # 判断月份是否合法
            if day < 0 or day > leap_year[i+1]:
                return '日期非法'
        sum += day
    else:
        # 平年
        sum = 0
        for i in range(month - 1):
            # 判断月份是否合法
            if day < 0 or day > no_leap_year[i+1]:
                return '日期非法'
            sum += no_leap_year[i]
        sum += day
    return sum

def main():
    date = input("请输入一个日期:")
    year,month,day = date.split("-")
    print(function1(int(year), int(month), int(day)))
    
main()
请输入一个日期:2020-12-02
337

本文地址:https://blog.csdn.net/Opithecus/article/details/107485039

相关标签: python