Autor Tema: Funciones con Python

0 Usuarios y 1 Visitante están viendo este tema.

04 Agosto, 2020, 08:11 pm
Leído 360 veces

Quema

  • Héroe
  • Mensajes: 1,700
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Hola

Cómo se resuelve estos ejercicios en Python:

a) Escribir una función que dada una lista de números, devuelve una lista con los números luego de sumarle 1.
b) Escribir una función que dada una lista de strings, devuelve el primer caracter de cada string.
c)


Gracias



04 Agosto, 2020, 08:23 pm
Respuesta #1

geómetracat

  • Moderador Global
  • Mensajes: 1,701
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Lo puedes hacer muy fácilmente usando las "list comprehension" de Python.
Por ejemplo, para el primero sería:
Código: [Seleccionar]
def suma_uno(lista):
    return [n+1 for n in lista]

Para el segundo puedes hacer lo mismo, teniendo en cuenta que si \( x \) es un string, \( x[0] \) es su primer carácter.
La ecuación más bonita de las matemáticas: \( d^2=0 \)

04 Agosto, 2020, 08:53 pm
Respuesta #2

feriva

  • Matemático
  • Mensajes: 9,075
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
  • No soy matemático, eso es una etiqueta.
Hola

Cómo se resuelve estos ejercicios en Python:

a) Escribir una función que dada una lista de números, devuelve una lista con los números luego de sumarle 1.
b) Escribir una función que dada una lista de strings, devuelve el primer caracter de cada string.
c)


Gracias

Para el segundo puede ser así por ejemplo

Código: [Seleccionar]
def f():

l=["a23","b34","c45"]

for i  in (l):

print (i[:1])

a = f()
a


Saludos.

04 Agosto, 2020, 08:54 pm
Respuesta #3

Quema

  • Héroe
  • Mensajes: 1,700
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Manual elemental de Python para recomendarme?

04 Agosto, 2020, 09:00 pm
Respuesta #4

feriva

  • Matemático
  • Mensajes: 9,075
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
  • No soy matemático, eso es una etiqueta.
Manual elemental de Python para recomendarme?

Esta colección de vídeos está muy bien, por ejemplo (pero tienes muchos); te pongo el 1

https://www.youtube.com/watch?v=GbfXj0iQQH0

Saludos.

05 Agosto, 2020, 04:03 am
Respuesta #5

ingmarov

  • Moderador Global
  • Mensajes: 4,799
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Hola

El primero puedes hacerlo de una forma más sencilla (fácil de leer, más básica) así,

Código: [Seleccionar]
def funcion(lista):
    resultado=[] #creamos una lista nueva para contener los resultados.
    for i in range(len(lista)): # len(lista) devuelve un entero, este entero es la cantidad de elementos que tiene la lista
        resultado.append(lista[i]+1) #append, en cada paso del ciclo for, va añadiendo un elemento a la lista resultado
    return(resultado)


La línea del ciclo for también la puedes escribir como,
"for i in arreglo", entonces "i" va tomando los valores de la lista original, en lugar enteros del rango de números enteros [0,len(arreglo)] dado por la función range().


Manual elemental de Python para recomendarme?

Este

https://www.iaa.csic.es/python/curso-python-para-principiantes.pdf

Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

05 Agosto, 2020, 12:10 pm
Respuesta #6

feriva

  • Matemático
  • Mensajes: 9,075
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
  • No soy matemático, eso es una etiqueta.

Hay que añadir, Quema, que para un ejercicio tan sencillo basta con un simple bucle; una función se suele usar para programas que realizan tareas más elaboradas. Si estás empezando a usar Python (según entiendo) lo suyo sería una rutina de lo más simple para irte familiarizando con el funcionamiento desde lo más básico (empezando por las instrucciones que suelen aprenderse primero en los manuales)

Código: [Seleccionar]
l=["a23","b34","c45"]
for i  in (l):
print (i[:1])

*Si pones un 2 donde está el uno, te da los dos primeros elementos, si pones un 3, pues tres elementos... si pones el signo menos delante del 1, toma el último elemento de la cadena... Pero en tu caso, como ya dijo Geómetracat (que lo vi después de escribir mi primera respuesta) basta con poner i[0], que es una instrucción más básica (de ésas que se aprenden primero).

Saludos.