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