当前位置: 移动技术网 > IT编程>脚本编程>Python > python 函数基础 练习题目

python 函数基础 练习题目

2020年07月22日  | 移动技术网IT编程  | 我要评论
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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网