关于Python封装函数的几道练习题

关于Python封装函数的几道练习题

1.封装函数,可以判断一个数字是否为偶数

def func(n):
    if n%2==0:
        print("%d是偶数"%n)
    else:
        print("%d是奇数"%n)

func(11)
# 11是奇数

2.封装函数,可以实现1-n之间所有偶数的打印

def func(n):
    for i in range(1,n+1):
        if i%2==0:
            print(i)

func(10)
# 2
# 4
# 6
# 8
# 10

3.封装函数,可以找出整型列表中的最大值

lst = [2,7,3,9,1,4]
def func(n):
    x = n[0]
    for i in n:
        if i>x:
            x=i
    return x
print(func(lst))
# 9

4.封装函数,可以完成列表的倒序,不使用内置函数

lst = [2,7,3,9,1,4]
# print(sorted(lst,reverse=True))
# print(lst.sort())
# print(lst)

def func(n):
    for i in range(len(n)-1):
        for j in range(len(n)-i-1):
            if n[j]<n[j+1]:
                n[j],n[j+1]=n[j+1],n[j]
    return n
print(func(lst))
# [9, 7, 4, 3, 2, 1]

# 或者

lst1 = [2,7,3,9,1,4]
print(lst1[::-1])
# [4, 1, 9, 3, 7, 2]

5.封装函数,可以判断一个整数是否为质数

对正整数n,如果用2到x之间的所有整数去除,均无法整除,则n为质数

from math import sqrt
def func(n):
    if n==1:
        return "是质数"
    else:
        for i in range(2,int(sqrt(n))+1):
            if n%i==0:
                return "不是质数"
    return "是质数"
print(func(2))
# 是质数

6.封装函数,可以打印1-a之间所有的质数,每4个进行一次换行

def func(n):
    count=0
    for i in range(1,n+1):
        for j in range(2,int(sqrt(i)+1)):
            if i%j==0:
                break
        else:
            count=count+1
            print(i,end=" ")
            if count%4==0:
                print("
")


print(func(100))
# 1 2 3 5
#
# 7 11 13 17
#
# 19 23 29 31
#
# 37 41 43 47
#
# 53 59 61 67
#
# 71 73 79 83
#
# 89 97 None

7.封装函数,可以打印2-a之间所有的质数,使用递归函数

"""
学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
"""
def func(n):
    if n==2:
        return 2
    for i in range(2,int(sqrt(n)+1)):
        if n%i==0:
           return func(n-1)
    else:
        print(n)
        return func(n-1)

print(func(100))

# 97
# 89
# 83
# 79
# 73
# 71
# 67
# 61
# 59
# 53
# 47
# 43
# 41
# 37
# 31
# 29
# 23
# 19
# 17
# 13
# 11
# 7
# 5
# 3
# 2

8.封装函数,查出传入列表奇数索引的元素并插入到新的列表中

def func(n):
    newlist=[]
    for i in range(0,len(n)+1,2):
        newlist.append(n[i])
    return newlist

list =["a","b","c","d","e","f","g","h","i","j","k"]
print(func(list))
# ["a", "c", "e", "g", "i", "k"]

9.封装函数,判断一个数字是否为水仙花数(水仙花数是一个三位数,并且每一位数字的三次方的和还等于这个数字。)

s = input("请输入一个数字:")
if len(s)==3:
   result = int(s[0])**3 + int(s[1])**3 + int(s[2])**3
   if int(s) == result:
       print("是水仙花数字")
   else:
       print("不是水仙花数字")
else:
   print("请输入三位数")
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 关于Python封装函数的几道练习题