[Curso 6.2] Funciones personalizadas
¿Cómo crear una función? declaración de def
1. Defina la función
def f(x):
if x < 5:
print('输入值小于5')
else:
print('输入值大于等于5') # 定义函数,其中x是参数(局部变量)
f(10) # 运行函数
----------------------------------------------------------------------
输入值大于等于5
2. Sobre el regreso
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. Parámetros predeterminados
def f(x,n = 2):
return(x**n)
print(f(10))
print(f(10,3))
# n = 2,这里n的默认值为2,如果不输入则以默认值为主
----------------------------------------------------------------------
100
1000
4. Parámetros 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'>
Tarea pequeña
① Función f (x), ingrese una cadena, imprima cada letra por separado
def f(st):
for s in st:
print(s)
str_input = input('请输入一个字符串')
f(str_input)
② f (x, y, z), algoritmo interno de la función: generar ((x + y) (xy)) * z
def f(x,y,z):
a = (x+y)*(x-y)*z
return(a)
print(f(5,4,2))
③ Escribir una función promedio 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))
④ Defina una función para encontrar el área rectangular y el área circular
⑤ Defina una función, la función de la función es convertir la lista de entrada en una serie de teclas de diccionario y generar un diccionario, debe usar la entrada de entrada **
list = eval(input('请输入一个列表'))#eval直接执行你输出的列表,结果就是一个列表
def f(lst):
return(dict.fromkeys(lst,0))