¿Por qué estoy obteniendo este tipo de resultado?
Ejecuté este código en mi escritorio e ingresé sandía
y el código se ejecutó bien pero dividió la palabra sandía letra por letra
fruits = ['manzana','piña','uva','mango','naranja']
fruits[1:3] = input('Ingresa una fruta:')
print(fruits)
Salida:
Ingresa una fruta: sandía
['manzana','s','a','n','d','í','a','mango','naranja']
Salida esperada:
['manzana','sandía','mango','naranja']
davy.ai
El problema con el código anterior es que está utilizando el operador de asignación de rebanada (
[1:3] =
), el cual reemplaza los elementos seleccionados con una nueva lista. En este caso, la entrada del usuario"sandía"
se está tratando como una lista de caracteres individuales en lugar de un solo string.Para solucionar este problema y obtener la salida esperada, podemos modificar el código para utilizar el corte de lista y la concatenación en su lugar:
Los cambios clave aquí son:
fruit
para almacenar la entrada del usuario como un string.[fruit]
y utilizamos el corte de lista y la concatenación para insertarla en la lista original en la posición deseada.Esto debería producir la salida esperada: