zoukankan      html  css  js  c++  java
  • Python3.x基础学习-函数用法(四)

    1.给定两个list ,A = [1,2,3,4,5,6,7,1,2,3]和B=[4,5,6,7,8,9,10,9,8,11],
    请用python找出A,B 中相同的元素放入列表D中,找出A,B中不同的元素放入列表C中,
    确保C、D两个列表中的元素不重复。
    A = [1,2,3,4,5,6,7,1,2,3]
    B=[4,5,6,7,8,9,10,9,8,11]
    print(set(A))
    # {1, 2, 3, 4, 5, 6, 7}
    
    print(set(B))
    # {4, 5, 6, 7, 8, 9, 10, 11}
    
    D = set(A) & set(B)
    C = set(A) ^ set(B)
    print(D)
    # {4, 5, 6, 7}
    
    print(C)
    # {1, 2, 3, 8, 9, 10, 11}
    2.封装函数,可以判断一个数字是否为偶数
    def func(n):
        if n%2==0:
            print("%d是偶数"%n)
        else:
            print("%d是奇数"%n)
    
    func(11)
    # 11是奇数
    3.封装函数,可以实现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
    4.封装函数,可以找出整型列表中的最大值
    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
    5.检查传入列表的长度,大于2的话,保留前两个长度的内容,并将新内容返回给调用者
    lst = [2,7,3,9,1,4]
    def func(n):
        if len(lst)>2:
            return lst[:2]
    print(func(lst))
    # [2, 7]
    6.封装函数,可以完成列表的倒序,不使用内置函数
    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]


    7.封装函数,可以判断一个整数是否为质数
    # 对正整数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))
    # 是质数
    8.封装函数,可以打印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

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

    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
    10.封装函数,查出传入列表奇数索引的元素并插入到新的列表中
    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']
    11.封装函数,判断一个数字是否为水仙花数(水仙花数是一个三位数,并且每一位数字的三次方的和还等于这个数字。)

    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("请输入三位数")


















  • 相关阅读:
    CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
    telnet: Unable to connect to remote host: Connection refused
    bash: telnet: command not found (Linux安装telnet)
    telnet: Unable to connect to remote host: No route to host
    IP地址转换函数
    Linux 网络通信 API详解【转载】
    高效算法求解数独
    Java创建List、Map等集合对象的同时进行赋值操作
    根据先序遍历和中序遍历建立二叉树
    继承内部类时使用外部类对象.super()调用内部类的构造方法
  • 原文地址:https://www.cnblogs.com/johnsonbug/p/12702639.html
Copyright © 2011-2022 走看看