No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Indexing y slicing

22/37
Recursos

Aportes 89

Preguntas 11

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Para poder tener las palabras al reves

text = "Ella sabe python"
print(text[::-1]

El concepto de Slicing me gusto y no fue tan complicado entenderlo, sin embargo al agregarle el salto me costo trabajo poder comprenderlo hasta que lo desglose de la siguiente forma:

Suponiendo que tenemos

text = "Hola Mundo"

Y queremos aplicar un salto de 2 desde el inicio hasta el final de la cadena

print(text[::2])

Python nos regresar谩 Hl ud, regresa como primer valor la posici贸n inicial que le indiquemos (en este caso la posici贸n 0), luego va contanto el n煤mero de saltos (en este caso 2), el que este en el 2 lo regresa.

Para comprenderlo mejor hice esta demostraci贸n.

Espero este aporte les sea de ayuda.

#NuncaParenDeAprender

Hay que tener en cuenta que, en la parte del slicing, el l铆mite de la derecha es exclusivo, es decir:

print(text[0:5])-> Incluye desde el cero hasta el 4, es decir, el caracter en la posici贸n 5 no la va a incluir, si se tiene en cuenta lo que se menciona del indexado (indexing)

Acaso eso fue un mensaje subliminal? jajaja

text = "Ella sabe Python"
print(text[0])
print(text[1])

print(text[999]) ## Si le das una posicion que no existe, da error

size = len(text)

print('size ', size)
print(text[size]) # Como empieza en 0, no llega a la 煤ltima

print(text[size - 1])

print(text[-1])

# Slicing
print(text[0:5]) # Obtener del 铆ndice 0 al 铆ndice 4 excluyendo el 铆ndice 5 

print(text[:10]) # Obtendr谩 siempre desde 0 si no se espec铆fica 

print(text[5:]) # Obtendr谩 siempre hasta el final de la cadena desde donde espec铆ficaste el inicio

print(text[10:16:2]) # S铆 se agrega un salto, regresa del inicio al final por los saltos

print(text[::2]) # Inicio al final en saltos de 2

Construcci贸n de un programa para identificar pal铆ndromos 馃槃

Slice Notation


lista[inicio:fin:salto]

驴Qu茅 es la indexaci贸n?

  • Indexar es crear una referencia a un elemento de un iterable (tuplas, cadenas) por su posici贸n particular dentro del iterable.

  • Para comprobar c贸mo acceder a los elementos individuales de una lista, primero crearemos una lista. Veremos c贸mo funcionan las secuencias de objetos dentro de la lista en Python. La lista de objetos se escribe entre corchetes, como se muestra a continuaci贸n:

#posisci贸n de cada car谩cter de un texto en python 
text = 'Nosotros estamos aprendiendo Python '
print(text[0])#aca estamos accediendo al primer car谩cter 
print(text[1])#segindo car谩cter del texto
#debemo saber cu谩ntos caracteres hay en nuestro texto, y como saber cu谩l es el ultimo car谩cter, de la siguiente manera.
size = len(text)
print('size => ', size)
print(text[size - 1])
#pero hay una forma mucho m谩s f谩cil de acceder al 煤ltimo car谩cter del texto
print(text[-1])#con esta funci贸n Python nos contara la 煤ltima posici贸n del texto
print(text[-2])#seria el pen煤ltimo car谩cter

# SLINCING
#con slicing podemos sacar ciertas partes del texto 
print(text[0:6])#aca estamos sacando desde el primer car谩cter hasta el car谩cter 4
print(text[10:16])# estamos sacando solo la palabra Python 
print(text[:15])#podemo obviar el primer parametro y decirle hasta que car谩cter quiero avanzar 
print(text[8:])#podemos indicar ir de cierto car谩cter hasta el final con esta funci贸n 
print(text[:])#nos imprime toto el texto
print(text[12:14:18])#tambiem puedo darle un inicio u un fin a nuestro texto(saltos de l铆nea)
print(text[12:14:2])#stos saltos de l铆nea tambien son validos 
print(text[::4])#al igual que este

Jugando con el texto:

text = 'Ella sabe Python'
print(text[0]) #Res -> E
print(text[1]) #Res -> l
print(text[0:3]) #Res -> Ell
print(text[:3]) #Res -> Ell
print(text[3:]) #Res -> a sabe Python
print(text[1:7]) #Res -> lla sa
print(text[1:7:2]) #Res -> las 
print(text[::]) #Res -> Ella sabe Python
print(text[1::3]) #Res -> l bPh
print(text[::-1]) #Res -> nohtyP ebas allE```

AJSJJAJAJA mori de la risa cuando salio el 鈥減to鈥

Para solucionar el problema del video anterior lo que hice pues esto:
user_option = (input(鈥減iedra, papel o tijera =>鈥).lower())

Y al parecer funciona 馃槂

El indexing se refiere a acceder a un elemento espec铆fico de una estructura de datos utilizando su posici贸n o 铆ndice. En Python, los 铆ndices comienzan desde 0 para el primer elemento y aumentan de forma secuencial. Puedes acceder a un elemento utilizando corchetes [] y especificando el 铆ndice correspondiente. Por ejemplo:

frutas = [鈥渕anzana鈥, 鈥減l谩tano鈥, 鈥渘aranja鈥, 鈥渦va鈥漖
print(frutas[0]) # Accede al primer elemento: "manzana"
print(frutas[2]) # Accede al tercer elemento: 鈥渘aranja鈥

El slicing, por otro lado, te permite obtener una porci贸n o subconjunto de una estructura de datos. Se realiza utilizando la sintaxis [inicio:fin], donde 鈥渋nicio鈥 es el 铆ndice del primer elemento a incluir y 鈥渇in鈥 es el 铆ndice del elemento siguiente al 煤ltimo a incluir (no inclusivo). Por ejemplo:

frutas = [鈥渕anzana鈥, 鈥減l谩tano鈥, 鈥渘aranja鈥, 鈥渦va鈥漖
print(frutas[1:3]) # Obtiene los elementos desde el 铆ndice 1 hasta el 铆ndice 2: [鈥減l谩tano鈥, 鈥渘aranja鈥漖

print(frutas[:2]) # Obtiene los primeros dos elementos: [鈥渕anzana鈥, 鈥減l谩tano鈥漖

print(frutas[2:]) # Obtiene los elementos a partir del 铆ndice 2 hasta el final: [鈥渘aranja鈥, 鈥渦va鈥漖

En resumen, el indexing se utiliza para acceder a elementos individuales en una estructura de datos, mientras que el slicing se utiliza para obtener una porci贸n de una estructura de datos. Ambos son 煤tiles para manipular y trabajar con datos de manera m谩s precisa y eficiente en Python.

Para entender la l铆nea $ text[10:16:2] //Pto

La frase dentro de la variable text = 鈥楨lla sabe Python鈥

De esa frase empezamos a contar desde 1 hasta llegar a 10

E 鈫 1; l 鈫 2 ; l 鈫 3 ; a 鈫 4 ; (espacio) 鈫 5 ; s 鈫 6 ; a 鈫 7 ; b 鈫 8 ; e 鈫 9; (espacio) 鈫 10 ; P 鈫 11

Tomara desde despu茅s el car谩cter que esta en la posici贸n 10 el cual queda en el espacio en blanco que hay entre 鈥榮abe Python鈥, toma ese espacio en blanco

Desde all铆 cuenta hasta llegar a la posici贸n 16 incluyendo el 16

P 鈫 11 ; y 鈫 12 ; t 鈫 13 ; h 鈫 14 ; o 鈫 15 ; n 鈫 16

Y toma los caracteres dentro de ese rango entonces queda

鈥楶ython鈥

Ahora al poner como tercer par谩metro el :2, cuenta de dos en dos y salta la letra que queda en dos as铆

P 鈫 1 ; y 鈫 2 ; t 鈫 1 ; h 鈫 2 ; o 鈫 1 ; n 鈫 2

Toma solo los caracteres que quedan en 1 e ignora los que quedan en 2 y por tanto nos queda

鈥楶to鈥

Buenas noches,
Yo coloque la funcion Lower despu茅s del input:

user_option = input('piedra, papel o tijera => ').lower()

Interesante. Me gust贸 el hecho de que Python acepte esto:

text = "Edinson aprende Python"
print(text[-1])

En vez de esto:

text = "Edinson aprende Python"
size = len(text)
print(text[size - 1])

iba a escribir que me gust贸 esta clase, pero a la vez descubr铆 que mejoraron un mont贸n el 鈥渃ampo鈥 para escribir comentarios. Excelente x2 platzi. Realmente hace valer su trabajo.

mi soluci贸n
usuario_digitado= input(print("Juguemos piedra, papel o tijera, escribe tu opci贸n: "))
usuario = usuario_digitado.lower()

Letras mayusculas

A mi el orden me sale al rev茅s: 0=n y 16=E.

Hola!
Les comparto el c贸digo de la clase.

# Indexing y slicing

text = "Ella sabe Python"

'''
indexing
Los textos tienen un indicador, al cual se puede acceder a nivel de posiciones. 
El primer caracter siempre est谩 en la posici贸n 0.
'''

print(text[0])
print(text[1])
#print(text[999])
# Imprime el 煤ltimo caracter del texto
'''
size = len(text)
print("size =>", size)
print(text[size - 1])
'''
print(text[-1])
print(text[-2])

'''
slicing
Basados en las posiciones de los caracteres dentro de nuestro str
podemos sacar ciertas partes del texto.
'''

print(text[0:5])
print(text[10:16])
print(text[:10]) # Toma desde el inicio hasta la posicion 10
print(text[5:]) # Toma desde la posicion 5 hasta el final
print(text[:]) # Toma el str desde el inicio hasta el final
print(text[10:16:1]) # Saltos entre caracteres
print(text[10:16:2]) # Toma desde la posicion 10 hasta la 16 con saltos de 2 caracteres
print(text[::2]) # Toma el str desde el inicio hasta el final, con saltos de 2 caracteres

text='Ella sabe Python鈥
print(text[0])#Posici贸n del caracter, empieza desde 0
#Para ultimo caracter
size=len(text)
print(text[size-1])
#otra opci贸n de atras para delante
print(text[-1])
print(text[-6])

#slicing
print(text[0:5]) #Texto en esa posici贸n
print(text[10:16])
print(text[:10])#Desde inicio asta posici贸n 0
print(text[5:])
print(text[:])
print(text[10:16:1])#Con saltos
print(text[10:16:2])
print(text[::2])

tnt = "C7H5N3O3" #TNT
cloroeteno = "C2H3Cl" #Cloruro de Vinilo

print("El TNT posee 3 mol茅culas de nitr贸geno: " + tnt[4:6]) #El 煤ltimo no es inclusivo
print("El cloruro de vinilo posee una mol茅cula de cloro: " +  cloroeteno[-2:])

Un input para elegir el caracter a mostrar
Mi peque帽o aporte. Apenas estoy iniciando

num = int(input('Ingrese el numero de carecter =>'))
text = 'Ella sabe Python'
print(text[num]) 

UNA OPCION MAS CORTA:
user_option = input(鈥榩iedra, papel o tijera鈥).lower()

La nueva plataforma borro los recursos de los cursos, que por cierto son ya de mas de un a帽o, y no sabemos que referencias o recursos validar para aprender mas... lastima ... menos mal ya en noviembre termono el plan
user_option = input('Rock, Paper, Scissors => ')
user_option = user_option.lower()  # Convierte la entrada del usuario a min煤sculas
bot_option = 'rock'  # Cambiado a min煤sculas para que coincida con user_option

if user_option == bot_option:
    print('__Draw__')
elif user_option == 'rock':
    if bot_option == 'scissors':
        print('Rock wins Scissors!')
        print('User wins!')
    else:
        print('Paper wins Rock!')
        print('Bot wins!')
elif user_option == 'paper':
    if bot_option == 'rock':
        print("Paper wins Rock")
        print('User wins!')
    else:
        print('Scissors win Paper!')
        print('Bot wins!')
elif user_option == 'scissors':
    if bot_option == 'paper':
        print('Scissors win Paper')
        print('User wins!')
    else:
        print('Rock wins Scissors')
        print('Bot wins')
else:
    print('Invalid option. Please choose Rock, Paper, or Scissors.')

El slicing con saltos nos regresa 鈥淧TO鈥 kjakjakjakjakajkajkajakjakjakjakjakjakajkajakjakjakjakjakajkajkajakjakja

Mi c贸digo, saludos.

import random

computer_option = random.choice(["piedra","papel", "tijera"])
user_option = input("Elije piedra Papel o Tijera: ").lower()

if computer_option == user_option:
    print(f"Empate la computadora tambien eligi贸 {computer_option}")
elif computer_option == "piedra" and user_option == "papel":
    print(f"Ganaste la computadora eligi贸 {computer_option}")
elif computer_option == "papel" and user_option == "tijera":
    print(f"Ganaste la computadora eligi贸 {computer_option}")
elif computer_option == "tijera" and user_option == "piedra":
    print(f"Ganaste la computadora eligi贸 {computer_option}")
else:
    print(f"Perdiste la computadora eligi贸 {computer_option}")
    ```

user_option = input(鈥榩iedra papel o tijera =>鈥).lower()

El slicing (rebanado) se utiliza para obtener una sub-secuencia de elementos, y es exclusivo, quiere decir que toma hasta el numero a su izquierda. ejemplo:

text = "Ella sabe Python"
print(text[0:3]) #Ell
print(text[0:4]) #Ella
print(text[0:5]) #Ella (espacio)
print(text[0:9]) #Ella (espacio) sabe

Woooow muchas gracias, excelente clase habia visto en algunos c贸digos ese tipo de sintaxys y aunque entend铆a en mayor parte, siempre quedan dudas de que es o para que sirve realmente, gracias por el detalle de realizar desde lo mas simple y paso a paso el curso

user_option = input(鈥楶iedra, Papel o Tijera =>鈥).lower()

player_choice = input("piedra, Papel o tijera =>").lower()


<#Juego PIEDRA - PAPEL O TIJERA
print('Bienvenido al juego PIEDRA - PAPEL - TIJERA\n')
user = input('Seleccione una opci贸n:\n\nPIEDRA\nPAPEL\nTIJERA\nSelecci贸n: ')
computer = 'piedra'
user1 = user.lower()
print(f'Seleccionaste {user1} y computer {computer}')
if user1 == computer:
    print('Es un empate')
elif user1 == 'papel' and computer == 'tijera':
    print('Computer gana')
elif user1 == 'papel' and computer == 'piedra':
    print('usuario gana')
elif user1 == 'piedra' and computer == 'tijera':
    print('Usuario gana')
elif user1 == 'piedra' and computer == 'papel':
    print('Computer gana')
elif user1 == 'tijera' and computer == 'papel':
    print('Usuario gana')
else:
    print('Computer gana')> 
text = 'Ella baila sola'
text = text.title() # esto debido a que es el t铆tulo de una canci贸n
print(text)

print(text[0])
print(text[1])
#print(text[999]) este maracr铆a un error porque no hay un caracter que llegue a 999
size = len(text) 
print('size => ',size)
print(text[size - 1])
print(text[-1])
print(text[len(text)-1])  #esta forma se me ocurri贸 a mi para simplificar todo a una l铆nea de c贸digo en lugar de crear una variable


# slicing

print(text[0:5])
print(text[10:16])
print(text[:10])
print(text[5:-1]) # este no incluye el 煤ltimo
print(text[5:])
print(text[:])
print(text[10:16:1])
print(text[10:16:2])
print(text[::2])

Hice este peque帽o C脫DIGO que imprime una frase en VERTICAL鈥

text = input('Escribe una oraci贸n 馃憠 ')
text = text.upper()
print(text)

i = len(text) - 1 #esto para comenzar la variable en 0
print('nuesto contador sera "i" y tendra ', i, ' valores')

for i in range(0, i + 1):  # Genera n煤meros del 1 al i (el 煤ltimo valor no se incluye por eso sumamos 1)
    print(text[i])

Slicing:
'El slicing (rebanado) se utiliza para obtener una subsecuencia de elementos de una secuencia. Permite seleccionar una parte o segmento de la secuencia original.

Sintaxis del slicing: secuencia[inicio:fin:paso]

inicio: 脥ndice del primer elemento de la subsecuencia.
fin: 脥ndice del primer elemento que no se incluir谩 en la subsecuencia.
paso: Paso opcional que determina cu谩ntos elementos se saltan entre cada elemento seleccionado.

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print(numeros, "\n")
print(numeros[2:6])  #[3, 4, 5, 6]
print(numeros[:6])   	#[1, 2, 3, 4, 5, 6]
print(numeros[6:])   	#[7, 8, 9, 10]
print(numeros[2::2])  #[3, 5, 7, 9]
print(numeros[:6:2]) #[1, 3, 5]
print(numeros[::2])   #[1, 3, 5, 7, 9]
print(numeros[::-1]) #[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

Sintaxis del slicing: secuencia[inicio:fin:paso] inicio: 脥ndice del primer elemento de la subsecuencia. fin: 脥ndice del primer elemento que no se incluir谩 en la subsecuencia. paso: Paso opcional que determina cu谩ntos elementos se saltan entre cada elemento seleccionado.

El slicing (rebanado) se utiliza para obtener una subsecuencia de elementos de una secuencia. Permite seleccionar una parte o segmento de la secuencia original.

Indexing: El indexing (indexaci贸n) se utiliza para acceder a elementos individuales de una secuencia utilizando su posici贸n o 铆ndice. En Python, los 铆ndices comienzan desde 0 para el primer elemento, -1 para el 煤ltimo elemento, -2 para el pen煤ltimo elemento y as铆 sucesivamente.

Hola. aqui aprendiste basicamente la diferencia entre Indexado y slicing, cabe destacar que ambos usan las misma funcionalidad que es recorrer el objeto que tienes en el codigo.
la diferencia radica en que el indexado se dedica a devolver un valor unico del dato que te enfrentas.
el slicing por otro lado recorre los valores y los devuelve una subsecuencia de una secuencia mas grande(que esta en tus datos).
Llaves para jamas olvidar y abrir puertas en este lenguaje:

  1. Los indexado al igual que los slicing el 0 es pisicion 1 y 1 es posicion 2.
  2. Los indexado son mas usados para devolver un valor individual los slicing para devolver una subsecuencia.
  3. La estructura del slicing es [Inicio:Fin:Pasos]
    Cuando iniciamos, debemos tener en cuenta la llave 1, pero cuando es fin, ya NO, por lo que contamos normalmente asi:
edad = "Estamos melos"
print(edad[0:2])

asi que, el valor que devuelve no es: ET,
va a devolver: ES

Si alguien quiere ir corriendo sus archivos desde el main, dando Ctrl + enter o simplemente presionando el bot贸n 鈥淩un鈥 les dejo c贸mo hacerlo.

Primero importamos el subprocess que es una librer铆a python que nos sirve para ejecutar cosas que se encuentren fuera del archivo main.

Luego vamos a ejecutar subprocess.run() y dentro le pasamos una lista con el nombre del archivo que vamos a correr. Para el caso de este ejercicio quedar铆a as铆:

import subprocess
subprocess.run(['python', '15_indexing.py'])

Listo, ya podemos correr cualquiera de nuestros archivos desde el main simplemente cambiando el nombre, as铆 no usaremos tanto el shell que a veces es molesto que se pierdan los comandos o cosas as铆.

Espero le sirva a alguien. Saludos.

comenc茅 con java y pero me quedo con Python!

text = 'Ella sabe Python'

print(text[0])
print(text[1])
#print(text[999])
size = len(text)
print(size) #tira numero, pero si quiero que me pase el caractere hago lo siguiente
print(text[size -1])
print(text[-1]) #Va a la ultima posici贸n

#slicing

print(text[0:5])
print(text[10:16]) #posici贸n exacta
print(text[:10])
print(text[5:-]) #Es lo mismo que el sig print
print(text[5:])
print(text[:])
print(text[10:16:1]) #Un salto
print(text[10:16:2]) #dos saltos
print(text[::2]) #Salta de a 2 caracteres

  • Indexar: Es hacer 铆ndices e **_鈥渋ndexing鈥 _**es ordenar una serie de datos.

  • Slicing: operaci贸n por medio de la cual se extraen elementos de una secuencia, tal como una lista o una cadena de caracteres.

tamanio = len(texto)
print(tamanio)
tambien se puede eso

from os import system
system('clear')

text = "Ella sabe Python"

print ('EL texto ejemplo :')
print (text)
print(' ')

print('Mostrar el primer caracter y el segundo')
print(text[0])
print(text[1])
# print(text[999])un indice inexistente dar矛a como resultado un error
print (' ')

print('Mostrar el 煤ltimo caracter')
size = len(text)
print('size => ',size)

print()
print(text[size - 1])
print(text[-1])

# slicing
print(' Mostrar Subcadena de la posici贸n 0 hasta la 5')
print(text[0:5] )
print(' ')

print (' Mostrar Subcadena de la posici贸n 10 hasta la 16')
print(text[10:16])
print(' ')

print('Mostrar una subcadena de texto. S铆 se obvia el primer par谩metro se entender谩 que, debera comenzar desde la posicion cero')
print(text[:10])
print('')

print('Mostra una subcadena, partiendo de un inicio y de un final, se se debe tomar que se toma el valor anterior')
print(text[5:-1])
print(text[5:])
print(text[:])

#Slaicing con saltos
print ('Slacing con saltos')
print(text[10:16:1])
print(text[10:16:2])
print(text[::2])

Me da curiosidad en aplicar esto, pero si existe es porque hubo una necesidad XD

text = 'Ella sabe Python'
print(text[::3]) # del inicio al final saltando de a 3 caracteres eso Eaa es tn. salta 2 caracteres y imprime el tercero.

print(鈥*** Piedra - papel - tijera ***鈥)
opciones_jugador = input(鈥楨lija una opcion : piedra - papel - tijera. ==>鈥)
print(opciones_jugador.lower())
opcion_computadora = 鈥榩apel鈥
if opciones_jugador == opcion_computadora:
print(鈥 鈥s un empate鈥!鈥)
elif opciones_jugador == 鈥榩iedra鈥:
if opcion_computadora == 鈥渢ijera鈥:
print(鈥欌iedra gana a tijera鈥)
print(鈥榚l usuario gano鈥!!!鈥)
else:
print(鈥榩apel gana a tijera鈥)
print(鈥欌apel gana a tijera鈥!!! 鈥)
print(鈥楥omputer gano鈥!!鈥)
if opciones_jugador == 鈥榩iedra鈥:
print(鈥欌iedra gana apapel鈥!!!鈥)
print(鈥 Jugador gana !!!鈥)
print(鈥欌so es todo!!!鈥)
print (鈥榡aja!!鈥)

Excelnete la flexibilidad de Python

#Indexing Indicador de posiciones como arreglos

text = "Ella sabe Python"
print(text[0])
print(text[1])
print(text[2])
print(text[3])
print(text[4])
print(text[5])

#Saber el ultimo caracter del texto
size = len(text)
print(鈥淪ize=鈥 ,size)
print(text[size-1])
print(text[-1])

slicing arroja desde que posicion quiero hasta la otra posicion

print(text[0:5])
print(text[10:16])
print(text[0:10])
print(text[:10])
print(text[5:-1])
print(text[5:])
print(text[:])

#Saltos se come letras
print(text[10:16:1])
print(text[10:16:2])
print(text[::2])

#indexing

text = "Yo se programar en Python"
print(text[4]) # e
#print(text[99]) # Error
size = len(text)
print(text[size - 1]) #Una forma de imprimir el ultimo caracter, pero algo extensa. // n
print(text[-1]) # Esta directamente nos da el ultimo caracter. // n

#slicing

print(text[0:5]) # Nos imprime los caracteres dentro de este rango // Yo se
print(text[10:16]) # ramar
print(text[:10]) # si no enviamos nada en el primer valor, python entiende que es 0. // Yo se prog
print(text[5:]) # si no enviamos nada en el segundo valor, python entiende que es hasta el ultimo caracter.


#saltos
print(text[:10:2]) # si ponemos otros :, python entendera que estos son saltos, si pedimos dos saltos este hara Y y tomara dos saltos hasta terminar la cadena de texto// Y epo
my_var = "Ella sabe Python"
print(my_var[-6:])

Ese c贸digo imprime 鈥楶ython鈥, por si a alguien le sirve鈥

text = 'Ella sabe Python'
print(text[0]) #Con los square brackets podemos traer el car谩cter seg煤n el 铆ndice que quiera
print(text[1])
#print(text[999])
print(text[-1])

# slicing

print(text[0:5]) #[#:#] para seleccionar cierto texto seg煤n los 铆ndices
print(text[10:16]) # [:10] inicia en 0
print(text[:10]) # [5:] va desde el punto que le indicamos al final
print(text[5:])
print(text[:]) # [:] selecciona del inicio al final completo
print(text[10:16:1])
print(text[10:16:2]) # [#:#:# saltos]
print(text[::2])

Me estoy enamorando de Python, 隆gracias!

listaNombres = ['Juan', 'Pepe', 'Jose', 'Jorge', ['Edwin', 'Luis']]
print(listaNombres[4][0])

Cree este programa de palindromos, tomando como referencia un comentario de otra compa帽era, a帽adiendo algunos elementos mas

  print("Bienvenido a polindroPy")
  print("")
  while True:
    palabra = input("Introduce una palabra para verificar si es palindromo (o escribe 'salir' para terminar): ")
    if palabra.lower().replace(" ", "") == "salir":
      break
    palabra = palabra.replace(" ", "")
    palindromo = palabra[::-1] 
    print(palabra.capitalize() + " es palindromo" if palindromo == palabra else palabra.capitalize() + " no es un palindromo")
    print("")

Mi humilde version
game1 = str(input(鈥業ntroduce tu opcion jugador 1:鈥).lower())
game2 = str(input(鈥業ntroduce tu opcion jugador 2:鈥).lower())

if (game1 == 鈥榩iedra鈥 and game2 == 鈥榯ijera鈥) or (game1 == 鈥榩apel鈥 and game2 == 鈥榩iedra鈥) or (game1 == 鈥榯ijera鈥 and game2 == 鈥榩apel鈥):
print(鈥楯ugador 1 gana鈥)
elif (game2 == 鈥榩iedra鈥 and game1 == 鈥榯ijera鈥) or (game2 == 鈥榩apel鈥 and game1 == 鈥榩iedra鈥) or (game2 == 鈥榯ijera鈥 and game1 == 鈥榩apel鈥):
print(鈥楯ugador 2 gana鈥)
elif(game1 == game2):
print(鈥楨mpate!!鈥)

Anteriormente, sub铆 el c贸digo que realic茅 para el juego de piedra, papel o tijera, ahora lo mejore e hice que la computadora eligiera su respuesta de forma random, aqu铆 se los dejo por si les interesa:

import random


def run():
  options = ("piedra", "papel", "tijera")
  computer_option = options[random.randint(0, 2)]
  user_option = input("Elige piedra, papel o tijera: ")
  user_option = user_option.lower().strip()
  print(user_option)
  print(computer_option)

  if user_option == computer_option:
    print("Empate!")
  elif user_option == "piedra" and computer_option == "tijera":
    print("Ganaste!")
  elif user_option == "papel" and computer_option == "piedra":
    print("Ganaste!")
  elif user_option == "tijera" and computer_option == "papel":
    print("Ganaste!")
  else:
    print("Perdiste")


if __name__ == "__main__":
  run()

text = input(鈥淚ntroduzca su opcion :鈥)
text = text.lower()
print(text)

Aqu铆 mis apuntes en python

#Indexing

palabra = input('Ingresa una frase')
print("primer letra ",palabra[0])
print("Ultima letra ",palabra[(len(palabra) -1)])
print("Ultima letra ",palabra[-1])

# Slicing

print("rango ",palabra[2:5])
print("inicio a rango ",palabra[:2])
print("final a rango ",palabra[2:])
print("Toda la palabra ",palabra[:])
print("Toda la palabra con saltos",palabra[::2])

text = 'ella sabe algebra boleana鈥
print(text[0])
print(text[4])
print(text[5])
print(text[10])

print(text[999])

size = len(text)
print(鈥榮ize =>鈥,size )
print(text[size-1])
print(text[-1])

slicing

print(text[0:4])
print(text[0:2])
print(text[12:19])
print(text[:12])
print(text[5:-1])
print(text[5:])
print(text[:])
print(text[10:16:1])
print(text[10:16:2])
print(text[::2])

text[1:99999999999999999999999999999999999999999999999999] 鈥

Slice strings with position jumping.

Slice strings with position jumping.

yo hice de esta manera el piedra papel o tijera ![]()

text = "Ella sabe Python"
#va al a la letra E dado que esta esta en la posicion 0
print(text[0])
print(text[1])
# print(text[999])  da error por que la posicion no existe
size = len(text)
print('size => ', size)
#Para saber cual es el ultimo carecter de esa linea
print(text[size - 1])
#Con esta python hace la cuenta de la ultima letra a la primera
print(text[-1])

# slicing

#Muestra todo de la posicion 0 a la 5
print(text[0:5])
print(text[10:16])
#Muestra del inicio hasta el caracter 10, Abrevia
print(text[:10])
#hasta el final pero siempre quitara el ultimo caracter
print(text[5:-1])
#Va a mostrar desde el caracter 5 hasta el final 5: dejandolo abierto
print(text[5:])
#Muestra el str desde el inicio hasta el final
print(text[:])
#Con esta mostrara los caracteres que esten en ese orden pero tendra saltos de caracteres con este ultimo que se le agrega :2 dos saltos: PYTHON PTO
print(text[10:16:1])
print(text[10:16:2])
#Salta del inicio al final de dos en dos
print(text[::2])

Les comparto un ejercicio con algunas funciones de la clase pasada y de esta clase

def palindromo(palabra):
  palabra = palabra.replace(' ', '').lower()
  inversa = palabra[::-1]
  if inversa == palabra:
    return True
  else:
    return False


def run():
  palabra = input('Ingresa una palabra o frase: ')
  es_palindromo = palindromo(palabra)
  if es_palindromo == True:
    print('Es palindromo')
  else:
    print('No es palindromo')


if __name__ == '__main__':
  run()




Si escribes print(text [10:16: 3] y esa d茅cima posici贸n llega a ser un espacio en blanco empezar谩 a contar 3 desde el siguiente caracter, mas no desde la posici贸n en blanco?

print(text[-1])

Excelente

Buen d铆a, comparto mi aporte

text = 'Ella sabe Python'
#Esta funcion permite ir a nivel de pocisiones, es decir vamos al caracter de la pocision deseada
print(text[0])
print(text[10])
#print(text[999])

#Esta nos permite ir al ultimo caracter
size = len(text)
print('size =>', size)
print(text[size -1])
#Esta tambien nos permite ir al ultimo caracter
print(text[-1])

#slicing, es decir extraemos caracteres del texto

print(text[0:5]) #extraemos subtexto de ese rango
print(text[10:16]) 
print(text[:10]) #extraemos el texto desde el inicio al 10
print(text[5:-1]) #Hace lo mismo que la de abajo
print(text[5:]) #extremos desde la pocision 5 hasta el final
print(text[:]) #Extraemos el mismo str desde el inicio hasta el final
print(text[10:16:1]) 
print(text[10:16:2]) #Damos inicio y fin para sacar texto, y definimos el num de saltos (num de caracteres que se saltan apartir del str)
print(text[::2]) #vamos del inicio a fin y saltamos de a 2

Juego del piedra, papel o tijera

Jugada_del_usuario = input("ingrese opci贸n => ")
Jugada_de_la_computadora = "papel"
if Jugada_del_usuario.lower() == Jugada_de_la_computadora:
print(鈥渆mpate, se repite la jugada!鈥)
elif Jugada_del_usuario.lower() == 鈥減iedra鈥:
if Jugada_de_la_computadora == 鈥減apel鈥:
print(鈥渉as perdido!鈥)
else:
print(鈥渉as ganado!鈥)
elif Jugada_del_usuario.lower() == 鈥渢ijera鈥:
if Jugada_de_la_computadora == 鈥減iedra鈥:
print(鈥渉as perdido!鈥)
else:
print(鈥渉as ganado!鈥)

REGLAS DEL RECORRIDO POR CADENAS:

  • el primer elemento desde la izquierda tiene 铆ndice 0

  • al recorrer la cadena, con el 谩nimo de revisar sus letras componentes, se debe indicar el 煤ltimo 铆ndice posible que ya no est谩 en la cadena.

  • ejemplo: si una cadena tiene cuatro caracteres, 鈥淎MOR鈥, para recorrer la cadena letra por letra, en forma din谩mica, se indica el 铆ndice m谩ximo con la funci贸n len(cadena).

  • la cadena 鈥淎MOR鈥 tiene cuatro elementos o caracteres, de acuerdo a la funci贸n len(鈥淎MOR鈥), pero el 铆ndice o posici贸n de la letra 鈥淩鈥 es 3.

  • el recorrido quedar铆a como:
    for i in range(len(cadena)):
    print(cadena[i])

# Indexing : Significa que los textos tienen un indicador en el cual yo puedo ingresar a nivel de posiciones. 

text = "Ella sabe Python"
print(text[0])
print(text[1])
# En la mayoria de lenguajes,la primer posicion es 0. 

print(text[999]) #Este por ejemplo no la encuentra

# Como saber cual es el caracter final 
size = len(text)
print('size => ',size)
print(text[size - 1])

# 0 le damos el texto y le restamos 1
print(text[-1])

# slicing : Basado en las posiciones de los caracteres , podemos sacar ciertas partes del texto. 

# Obtener el texto de ese rango 
print(text[0:5])
print(text[10:16])
print(text[:10])
print(text[5:-1])

#Cuando no se pone nada , quiere decir que ira hasta el final del texto 
print(text[5:])
print(text[:])

# Saltos , el tercer valor es cuanto salto de letra en letra 
print(text[10:16:1])
print(text[10:16:2])
print(text[::2])

El ejercicio de la clase anterior tambien se puede solucionar ase

user_option = (input('Piedra, Papel o Tijera?: ').lower())

La cadena es un ARRAY.

text = "Ella sabe Python"
print(text[0])
print(text[1])
# print(text[999])
size = len(text)
print('size => ', size)
print(text[size-1])
print(text[-1])

# slicing

print(text[0:5])
print(text[10:16])
print(text[:10])
print(text[5:-1])
print(text[5:])
print(text[:])
print(text[10:16:1])
print(text[10:16:2])
print(text[::2])

Excelente ejercicio para ir practicando. Quise agregarle un poco m谩s de complejidad al m铆o, agregando una lista con los tres valores y usando la librer铆a random, para jugar con el sistema directamente.

""" Indexing """
text = "She can't help herself at all"
print("text =", text)
print("text[0] =>", text[0])
print("text[-1] =>", text[-1])
print("text[4] =>", text[4])

""" slicing """
print("-" * 35)
text = "El se帽or de la noche"
print("text =", text)
print("text[0:5] =>", text[0:5])
print("text[:8] =>", text[:8])
print("text[3:8] =>", text[3:8])
print("text[9:] =>", text[9:])
print("text[:] =>", text[:])

""" jumps """
print("-" * 35)
text = "I am the storm that is approaching"
print("text =", text)
print("text[0:8:1] =>", text[0:8:1])
print("text[0:8:2] =>", text[0:8:2])
print("text[::3] =>", text[::3])
print("text[::1] =>", text[::1])
print("text[::] =>", text[::])
print("text[::-1] =>", text[::-1])

Se albureo solo

import random

computer = (鈥淧iedra鈥,鈥淧apel鈥,鈥淭ijera鈥)

def impresion(humano1,seleccion):
print(f"La computadora selecciono {seleccion}")
print(f"el Humano selecciono {humano1}")

def run():
marcadorh = 0
marcadorc = 0
empate = 0
for i in range(10):
opciones = 鈥溾濃
1 = papel
2 = Piedra1
3 = Tijera
鈥""
print(opciones)

    humano1=""
    humano= int(input("ingresa el # del elemento para jugar "))
    if humano == 1:
        humano1 = "Papel"
    elif humano == 2:
        humano1 ="Piedra"
    elif humano == 3:
        humano1 ="Tijera"        

    seleccion = str(random.choice(computer))
    
    if humano1 == seleccion:
        print("Empate")
        impresion(humano1,seleccion)
        empate +=1
    else:
        if humano1 == "Papel" and seleccion != "Tijera":
            print ("Ganaste")
            impresion(humano1,seleccion)
            marcadorh += 1
        elif humano1 == "Piedra" and seleccion != "Papel":
            print("Ganaste")
            impresion(humano1,seleccion)
            marcadorh += 1
        elif humano1 == "Tijera" and seleccion != "Piedra":
            print("Ganaste")
            impresion(humano1,seleccion)
            marcadorh += 1
        else:
            print("Perdites")
            impresion(humano1,seleccion)
            marcadorc += 1
    print(f"el juego va de la siguientes manera humano lleva {marcadorh} y la computadora lleva {marcadorc} y fueron {empate} empates ")     

if name ==鈥main鈥:
run()

Hola, estoy intentando correr mi archivo en la terminal y me sale esto鈥 (bash: 15_indexing.py: command not found) 驴Alguien sabe qu茅 puedo hacer ah铆?, el error comenz贸 a salir de un momento a otro y no me funciona as铆 cree un nuevo documento de Python

text = 'Ella sabe Python'
print(text[0])
print(text[1])
#print(texto[8]) si le das una pocicion que no existe , sale error
size = len(text)
print('size =>', size)
print(text[size-1])
print(text[-1])

#slicing

print(text[0:5])
print(text[9:16])
print(text[:10])
print(text[10:])
print(text[:])
print(text)
print(text[10:16:1])
print(text[10:16:2])
print(text[::2])