python 函数小实例

1、判断一个数字是否为素数;

import math
# -----------------判断一个数是否是素数------------------
def sushu(a):
    i=1
    for i in range(2,a):
        if a%i==0:
            print(i)
            break
    if i==a-1:
        print('素数')
    else:
        print('不是素数')
    # return;

if __name__=="__main__":
     sushu(17)

2、输出100以内的素数;

#---------习题说明:编写一个函数,判断一个数是否为素数,然后调用该函数输出100以内的素数---------------
# -------------------------------------------------------
def sushu02(a):
    j=1
    list=[]
    for i in range(3,a):
        for j in range(2,i):
            if(i%j==0):
                break
        if j==i-1:
            # print(i)
            list.append(i)
    return list

        # print(i,'\t')
if __name__=="__main__":
    x=input("please input number:",)
    t=int(x)
    su=sushu02(t)
    print(su)

 实现效果:

  

3、判断三边能否构成三角形;

# ------------习题2,编写一个函数,判断三个数是否能构成一个三角形------------
import sys
def triangle(a,b,c):
    if(a+b>c and a+c>b and b+c>a):
        print('组成三角形' ,a,b,c)
        if(a==b==c):
            print("等边三角形")
        elif (a == b or a == c or b == c):
            print("等腰三角形")
        elif(a**2+b**2==c**2 or a**2+c**2==b**2 or c**2+b**2==a**2):
            print("直角三角形")
        else:
            print("普通三角形")
    else:
        print("不能组成三角形")
if __name__=="__main__":
    print("please input three number:")
    x=input("first number:",)
    y=input("second number:",)
    z=input("thrid number:",)
    triangle(int(x),int(y),int(z))

 实现效果:

 

4、输入三个数中的最大值;

#!/bin/env python
# #!--*--coding:utf-8 --*--
# ----*auth:freem*
 ####-----习题3:编写一个函数,输入三个数,输出最大值
import sys

def com(x,y,z):
    maxn=x;
    if y>maxn:
        maxn=y;
        if z>maxn:
            maxn=z
    return maxn
if __name__=="__main__":
    a=input("please input first number:",)
    b=input("please input second number:",)
    c=input("please input third number:",)
    m=com(a,b,c)
    print("a,b,c中最大值为:",m)

实现效果:

 

5、计算三角形面积;

#!/bin/env python
# #!--*--coding:utf-8 --*--
# ----*auth:freem*

# -------------------习题4:编写一个函数,输入三个数,作为三角形的三个边长,计算三角形的面积----

import math

def tri_area(x,y,z):

# 海伦公式 p=(x+y+z)/2 S=sqart(p*(p-x)(p-y)(p-z))
    if(x+y>z and x+z >y and z+y>x):
        p=(x+y+z)/2
        temp=p*(p-x)*(p-y)*(p-z)
        S=math.sqrt(temp)
        print("三角形面积为:",S)
    else:
        print("对不起,您输入的边长大小不能构成三角形!")

if __name__=="__main__":
    a=float(input("请输入第一条边:",))
    b=float(input("请输入第二条边:",))
    c=float(input("请输入第三条边:",))
   # print(type(a))
    tri_area(a,b,c)

 实现效果:

 

 
6、计算传入的列表的最大值、最小值和平均值,并以元组的方式返回;

#!/bin/env python
# #!--*--coding:utf-8 --*--
# ----*auth:freem*

# -------习题5:编写一个函数,计算传入的列表的最大值、最小值和平均值,并以元组的方式返回,然后调用该函数
import math
def deal_num(li):
    list=[]

    list.append(float(max(li)))
    list.append(float(min(li)))
    sum=0
    for i in li:
        sum=sum+float(i)
    aver=float(sum)/li.__len__()
    list.append(aver)
    print("list:",list)
    return tuple(list)
if __name__=="__main__":
    # print("请输入一个序列:")
    # while
    ll=input("please input a list,just contain number:",)
    lll=ll.split(',')
    # print(type(lll))
    deal=deal_num(lll)
    print("tuple contain max_number,min_number and average_number:",deal)

 实现效果:

7、计算传入的列表的最大值、最小值和平均值,并以列表的方式返回;

#!/bin/env python
# #!--*--coding:utf-8 --*--
# ----*auth:freem*

# ---习题6:编写一个函数,计算传入的元组的最大值、最小值和平均值,并以列表的方式返回,然后调用该函数。
import math
def deal_num(li):
    list=[]

    list.append(float(max(li)))
    list.append(float(min(li)))
    sum=0
    for i in li:
        sum=sum+float(i)
    aver=float(sum)/li.__len__()
    list.append(aver)
    print("list:",list)
    return list
if __name__=="__main__":
    # print("请输入一个序列:")
    # while
    ll=input("please input a list,just contain number:",)
    lll=tuple(ll.split(','))
    print("tuple:",lll)
    # print(type(lll))
    deal=deal_num(lll)
    print("list contain max_number,min_number and average_number:",deal)

 实现效果:

 

8、统计字符串中不同字符的个数;

#!/bin/env python
# #!--*--coding:utf-8 --*--
# ----*auth:freem*

# ---习题7:编写一个函数,接收传入的字符串,统计大写字母的个数、小写字母的个数、数字的个数、其它字符的个数,并以元组的方式返回这些数,然后调用该函数;

import sys
def deal_char(li):
    list=[]

    # list.append(float(max(li)))
    # list.append(float(min(li)))
    upper=0
    lower=0
    num=0
    other=0
    # str.__len__()
    for i in  range(li.__len__()):
        if li[i].isupper():
            upper+=1
        elif li[i].islower():
            lower+=1
        elif li[i].isnumeric():
            num+=1
        else:
            other+=1
    list.append(upper)
    list.append(lower)
    list.append(num)
    list.append(other)

    print("list:",list)
    return tuple(list)
if __name__=="__main__":
    # print("请输入一个序列:")
    # while
    ll=input("please input some char(or a string):",)

    # print(type(lll))
    deal=deal_char(ll)
    print("tuple contain count with upper char,lower char ,number and others:",deal) 

 实现效果:

 

 

posted @ 2016-10-16 17:29  Freem  阅读(8679)  评论(0编辑  收藏  举报