Python之函数练习

目录

    • 1、判断奇数(函数 crr171)
    • 2、闰年(函数 crr174)
    • 3、编写函数,判断一个整数是否为素数,并编写主程序调用该函数
    • 4、编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果
    • 5、(可变长度参数)编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和。

1、判断奇数(函数 crr171)

编写 isOdd( )函数,该函数应有一个整数参数,如果该参数为奇数,函数返回 True,否则返回 False。并编写主程序调用该函数进行测试。

def isOdd(number):
    if number%2!=0 :
        return True
    else:
        return False
num=int(input("input your number:"))
print(isOdd(num))

input your number:7
True

2、闰年(函数 crr174)

编写一个程序,在主程序中求 1900 ~ 2020 年中所有的闰年,每行输出 5 个年份。闰年即能被 4 整除但不能被 100 整除,或者能被 400 整除的年份。要求定义一个函数 isLeapYear (year ),该函数用来判断某年是否为闰年,是闰年则函数返回 True,否则返回 False。并编写主程序调用该函数进行测试

def isLeapYear(year):
    if year%4==0 and year%100!=0 or year%400==0:
        return True
    else:
        return False

cout=0
for i in range(1900,2021):
    x=isLeapYear(i)
    if x:
        print(i,end=' ')
        cout=cout+1
    if cout%5==0:
        print()
        
1904 1908 1912 1916 1920 



1924 1928 1932 1936 1940 



1944 1948 1952 1956 1960 



1964 1968 1972 1976 1980 



1984 1988 1992 1996 2000 



2004 2008 2012 2016 2020 

3、编写函数,判断一个整数是否为素数,并编写主程序调用该函数

def sushu(number):
    flag=1
    if number<2:
        return False
    for i in range(2,number):
        if number%i==0:
            flag=0
            break
    if flag==1:
        return True
    else:
        return False
    

num=int(input("input your number:"))
if sushu(num):
    print("是素数")
else:
    print("不是素数")
    
input your number:7
是素数

4、编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果

def count(voc):
    alist = [0, 0, 0, 0]
    # 四项数字依次为大写字母、小写字母、数字、其他字符的个数
    for i in voc:
        if 'A' <= i <= 'Z':
            alist[0] += 1
        elif 'a' <= i <= 'z':
            alist[1] += 1
        elif '0' <= i <= '9':
            alist[2] += 1
        else:
            alist[3] += 1
    info_tuple = tuple(alist)
    return info_tuple
    
voc=input("输入一串字符:")
print(count(voc)) 

输入一串字符:Hello World!
(2, 8, 0, 2)

5、(可变长度参数)编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和。

def max_and_sum(*args):
    max_num = float('-inf')  # 初始化最大值为负无穷
    sum_num = 0  # 初始化总和为0
    for num in args:
        if num > max_num:
            max_num = num  # 更新最大值
        sum_num += num  # 累加总和
    return max_num, sum_num

max_num, sum_num = max_and_sum(1, 2, 3, 4, 5)
print("最大值:", max_num)
print("总和:", sum_num)

最大值: 5
总和: 15

你可能感兴趣的:(Python,python,算法,开发语言)