Fonction personnalisée de Python Data Analysis Combat 6.2 [Python]

[Cours 6.2] Fonctions personnalisées

Comment créer une fonction? déclaration def

1. Définissez la fonction

def f(x):
    if x < 5:
        print('输入值小于5')
    else:
        print('输入值大于等于5')  # 定义函数,其中x是参数(局部变量)
f(10)  # 运行函数
----------------------------------------------------------------------
输入值大于等于5

2. À propos du retour

def f1(x):
    y = 2**x  # 没有return
    
def f2(x):
    y = 2**x
    return y # 含有return

print(f1(2),f2(2))
# return语句退出函数,并返回一个表达式。不带参数值的return语句返回None
----------------------------------------------------------------------

3. Paramètres par défaut

def f(x,n = 2):
    return(x**n)
print(f(10))
print(f(10,3))
# n = 2,这里n的默认值为2,如果不输入则以默认值为主
----------------------------------------------------------------------
100
1000

4. Paramètres variables

def f(*x):
    print(x)
    return x
f(1)
f('a','b')
f(1,2,3,[44,33])
print(type(f('a','b')))
# 通过*来定义可变参数
# 默认会把可变参数传入一个元祖!
----------------------------------------------------------------------
(1,)
('a', 'b')
(1, 2, 3, [44, 33])
('a', 'b')
<class 'tuple'>

Petits devoirs
① Fonction f (x), entrez une chaîne, imprimez chaque lettre séparément

def f(st):
    for s in st:
        print(s)
str_input = input('请输入一个字符串')
f(str_input)

② f (x, y, z), algorithme interne de la fonction: générer ((x + y) (xy)) * z

def f(x,y,z):
    a = (x+y)*(x-y)*z
    return(a)
print(f(5,4,2))

③ Écrire une fonction moyenne f (* m)

def f(*m):
    s = 0
    lst = []
    for i in m:
        while str(i).isnumeric():#当i不是数字是不计算
            s+=i
            lst.append(i)
            break
        else:
            print("输入列表中存在非数字%s"%i)
        print(lst)
    return(s/len(lst))
print(f(1,2,'a',3))

④ Définissez une fonction pour trouver une zone rectangulaire et une zone circulaire
⑤ Définissez une fonction, la fonction de la fonction est de transformer la liste d'entrée en une série de touches de dictionnaire et de générer un dictionnaire, vous devez utiliser l'entrée d'entrée **

list = eval(input('请输入一个列表'))#eval直接执行你输出的列表,结果就是一个列表
def f(lst):
    return(dict.fromkeys(lst,0))
Publié 36 articles originaux · loué 17 · visites 6274

Je suppose que tu aimes

Origine blog.csdn.net/qq_39248307/article/details/105498405
conseillé
Classement