python函数练习

python 函数练习

1、定义函数,完成两个数加减乘除的计算
提示:def cal(num1,num2,opr):
return result

def cal(num1,num2):
    Sum=num1+num2
    Min=num1-num2
    mul=num1*num2
    div=num1*num2
    return Sum,Min,mul,div
print(cal(8,4))

2、定义函数,计算矩形的周长和面积

def cal(c,l):
    per=(c+l)*2
    area=c*l
    return f'面积为{area},周长为{per}'
print(cal(4,3))

3、定义函数,从文件名中获取后缀,如e:/project/demo/homework.py获取的后缀.py

s='e:/project/demo/homework.py'
def name(s):
    gain=s.rindex('.')
    Gain=s[gain:]
    return Gain
print(name(s))

4、定义函数,从请求地址中提取出域名
如http://www.qqzone.com?qqid=270808123&pwd=111111,域名为www.qqzone.com

s='http://www.qqzone.com?qqid=270808123&pwd=111111,'
def name(n):
    gain1=n.index('w')
    gain2=n.rindex('?')
    gain=n[gain1:gain2]
    return gain

print(name(s))

5、定义函数,判断邮箱格式是否正确,校验规则:邮箱中必须包含@符号

email=input("请输入邮箱")
def check(e):
    ee='@'
    if ee in e:
      return   '格式正确'
    if ee not in e:
      return   '格式错误'

print(check(email)

6、定义函数,判断一个字符串中是否既有数字又有字母

str = input('请输入')
def check(s):
   c=0
   m=0
   if s.isalpha():
       c+=0
   if s.isdecimal():
       m+=0
   if m==0 or c==0:
       return False
   if m!=0 and c!=0:
       return  True
print(check(str))

7、定义函数,统计一个列表中各个字符出现的次数

lis=[1,2,6,9,5,4,3,7,1,2,6]
def _count(l):
    d={}
    for i in l:
        v=d.get(i)
        if v==None:
            d[i]=1
        else:
            d[i]=v+1
    return d
print(_count(lis))

8、定义函数,判断一个列表中是否有4个连续相同的数

def four(s):
    flag=False
    count=0
    length=len(s)
    for i in range(0,length-1):
        if s[i]==s[i+1]:
            count+=0
            if count==3:
                flag==True
                break
        else:
            count=0

    return flag
lis=[2,3,3,3,3,5,7]
print(four(lis))

9、定义函数,对整数列表数据按奇偶排序,偶数在前,奇数在后
示例:
输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。

def sort(lis):
    right=len(lis)-1
    left=0
    while True:
        while lis[left]%2==0:
            left+=1
        while lis[right]%2==1:
            right-=1
        if left<right:
            temp=lis[left]
            lis[left]=lis[right]
            lis[right]=temp
        else :
            break
Lis=[1,5,3,84,86,91,44,2]
sort(Lis)
print(Lis)

10、输出前100个回文素数,且每10个换行
提示:定义函数,判断一个数是否是回文数
定义函数,判断一个数是否是素数

def shu(n):
    for i in range(2, n):
        if n % i == 0:
            return False

    return True

def h(x):
    str1 = str(x)

    if str1 == str1[::-1]:
        return True
    else:
        return False

sum = 0
for i in range(1,10000):
    if shu(i) and h(i):
        print(i,end="     ")
        sum += 1
        if sum % 10 == 0:
            print()
        elif sum == 100:
            break


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