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) 

 實現效果:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM