SlideShare una empresa de Scribd logo
1 de 21
Aprendiendo a Programar en
… con mi computadora y todo lo que
encuentre disponible.
Ejercicios
parte 3.
Ciclos.
El usuario debe poder ingresar muchos
números y cada vez que se ingresa uno
debemos informar si es positivo, cero o
negativo. Es posible preguntarle al
usuario, al inicio del programa, cuántos
números ingresará.
def muchos_pcn():
i = input(“¿Cuántos números digitará? ")
for j in range(0,i):
x = input("Ingrese un número: ")
if x > 0:
print “El número es positivo. "
elif x == 0:
print “El número es igual a 0. "
else:
print “El número es negativo. "
Ciclos.
Sin embargo este programa no es muy
intuitivo, porque obliga a conocer de
antemano cuántos números procesará,
sin equivocarse, en lugar de ingresar uno
a uno los números hasta procesarlos a
todos. Debe introducir una instrucción
que permita construir ciclos que no
requieran que se informe de antemano la
cantidad de veces que se repetirá el ciclo.
Un ciclo indefinido es de la forma
while <condición>:
<hacer algo>
While es una palabra reservada, la condición
es una expresión booleana, igual que en las
instrucciones if. Y el cuerpo consiste de una o
más instrucciones. El sentido de esta
instrucción es el siguiente:
Ciclos indefinidos.
Un ciclo indefinido es de la forma
while <condición>:
<hacer algo>
1. Evaluar la condición.
2. Si la condición es falsa, salir del ciclo.
3. Si la condición es verdadera, ejecutar el
cuerpo.
4. Volver a 1.
Ciclos indefinidos.
El esquema del ciclo interactivo es el siguiente:
 hayMasDatos hace referencia a “Si”.
 Mientras hayMasDatos haga referencia a
“Si”:
 Pedir datos.
 Realizar cálculos.
Preguntar al usuario si hay más datos
(“Si” cuando los hay). hayMasDatos hace
referencia al valor ingresado.
Ciclos indefinidos.
def pcn_loop():
hayMasDatos = "Si"
while hayMasDatos == "Si":
x = input("Ingrese un número: ")
if x > 0:
print "Número positivo"
elif x == 0:
print "Igual a 0"
else:
print "Número negativo"
hayMasDatos
= raw_input("Quiere seguir? <Si-No>: ")
Ciclos indefinidos.
Suponer que si ingresa el carácter * es una
indicación de que desea terminar. El esquema
del ciclo con condición de parada es el
siguiente:
 Pedir datos.
 Mientras el dato pedido no coincida con la
condición de parada:
 Realizar cálculos.
 Pedir datos.
Ciclos indefinidos.
def pcn_loop2():
x=input("Ingrese un número
(’*’ para terminar): ")
while x <>"*":
if x > 0:
print "Número positivo"
elif x == 0:
print "Igual a 0"
else:
print "Número negativo"
x=input("Ingrese un número
(’*’ para terminar): ")
Ciclos indefinidos.
while <condicion>:
<hacer algo_1>
if <condif>:
break
<hacer algo_2>
Break, el rompe ciclos.
El sentido del break es el siguiente:
1. Se evalúa <condición> y si es falsa se sale
del ciclo.
2. Se ejecuta <hacer algo1 >.
3. Se evalúa <condif> y si es verdadera se
sale del ciclo (con break).
4. Se ejecuta <hacer algo2 >.
5. Se vuelve al paso 1.
Break, el rompe ciclos.
def pcn_loop3():
while True:
x = input("Ingrese un número
(’*’ para terminar): ")
if x == ’*’:
break
elif x > 0:
print "Número positivo"
elif x == 0:
print "Igual a 0"
else:
print "Número negativo"
Break, el rompe ciclos.
Cuente cuántas letras “A” hay en una cadena
x. Dada una cadena x, una función retornará
un valor contador que representa cuántas
letras “A” tiene la cadena. Es decir:
Iniciar el contador en 0
para cada letra de x
averiguar si la letra es “A”
y en consecuencia tratarla
(incrementar en 1 el contador)
retornar el valor del contador.
Procesamiento de cadenas.
def contarA (x):
""" La funcion contarA(x) cuenta cuántas
letras "A" aparecen en la cadena x ."""
contador = 0
for letra in x:
if letra == "A":
contador = contador + 1
return(contador)
Procesamiento de cadenas.
Cuando pidan contar cuántas letras “E”
hay en una cadena habrá que hacer otra
función. Tiene sentido hacer una función
más general que permita contar cuántas
veces aparece un carácter dado en una
cadena.
Escribir una función contar(l, x) que
cuente cuántas veces aparece un carácter
l dado en una cadena x.
¿Hay más letras “A” o más letras “E” en
una cadena? Escribir un programa que lo
decida.
# ARCHIVO: mentemaestra.py
# modulo que permitirpa elegir números
aleatoriamente
import random
# el conjunto de simbolos validos en el código
digitos = (’0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’)
# "elegimos" el código
codigo = ‘’
¿Qué hora es? ¡Hora de jugar!
for i in range(4):
candidato = random.choice(digitos)
# eligiendo digitos no repetidos
while candidato in codigo:
candidato = random.choice(digitos)
codigo = codigo + candidato
# iniciamos interaccion con el usuario
print "Bienvenido a Mente Maestra"
print "Tienes que adivinar un número de ", 4,
"cifras distintas"
propuesta = raw_input("Que codigo
propones?: ")
¿Qué hora es? ¡Hora de jugar!
# procesamos las propuestas e indicamos
aciertos y coincidencias
intentos = 1
while propuesta != codigo:
intentos = intentos + 1
aciertos = 0
coincidencias = 0
# recorremos propuesta, verificamos código
for i in range(4):
if propuesta[i] == codigo[i]:
aciertos = aciertos + 1
elif propuesta[i] in codigo:
coincidencias = coincidencias + 1
print "Tu propuesta (", propuesta, ")
tiene", aciertos, 
"aciertos y ", coincidencias, "coincidencias."
# pedimos siguiente propuesta
propuesta =
raw_input("Propone otro código: ")
print "Felicitaciones! Adivinaste el código en",
intentos, "intentos."

Más contenido relacionado

La actualidad más candente

Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Bryan Aguilar Yaguana
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaMartha Beatriz Coronado Rosales
 
Ejercicios resueltos de java
Ejercicios resueltos de javaEjercicios resueltos de java
Ejercicios resueltos de javaFaral TF
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPMiguelGomez371
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do WhileJoshe Varillas
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Ejercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasEjercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasAlejandro Pacheco
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Tensor
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 

La actualidad más candente (20)

Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Ciclo while y do while
Ciclo while y do whileCiclo while y do while
Ciclo while y do while
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAva
 
Ejercicios resueltos de java
Ejercicios resueltos de javaEjercicios resueltos de java
Ejercicios resueltos de java
 
Circuitos digitales-problemas
Circuitos digitales-problemasCircuitos digitales-problemas
Circuitos digitales-problemas
 
Codificación de Huffman
Codificación de Huffman Codificación de Huffman
Codificación de Huffman
 
Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UP
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do While
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
Ejercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasEjercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadas
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++Arrays, arreglos o vectores en c++
Arrays, arreglos o vectores en c++
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 

Similar a Contar letras en cadenas

Similar a Contar letras en cadenas (20)

Clase 6
Clase 6Clase 6
Clase 6
 
if-while-for.ppsx
if-while-for.ppsxif-while-for.ppsx
if-while-for.ppsx
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenes
 
15diagramas de flujo
15diagramas de flujo15diagramas de flujo
15diagramas de flujo
 
Estructuras de control
Estructuras de control Estructuras de control
Estructuras de control
 
Ejercicios Python Parte 2
Ejercicios Python Parte 2Ejercicios Python Parte 2
Ejercicios Python Parte 2
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Gutierres
GutierresGutierres
Gutierres
 
Universidad politécnica de tecámac
Universidad politécnica de tecámacUniversidad politécnica de tecámac
Universidad politécnica de tecámac
 
Switch case (informe_19)
Switch case (informe_19)Switch case (informe_19)
Switch case (informe_19)
 
Ejercicios grupales programacion
Ejercicios grupales programacionEjercicios grupales programacion
Ejercicios grupales programacion
 
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3
 
Prueba1
Prueba1Prueba1
Prueba1
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Clase 7
Clase 7Clase 7
Clase 7
 
Ejemplos en PSeint
Ejemplos en PSeintEjemplos en PSeint
Ejemplos en PSeint
 

Más de Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

Más de Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Último

Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 

Último (20)

TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 

Contar letras en cadenas

  • 1. Aprendiendo a Programar en … con mi computadora y todo lo que encuentre disponible. Ejercicios parte 3.
  • 2. Ciclos. El usuario debe poder ingresar muchos números y cada vez que se ingresa uno debemos informar si es positivo, cero o negativo. Es posible preguntarle al usuario, al inicio del programa, cuántos números ingresará.
  • 3. def muchos_pcn(): i = input(“¿Cuántos números digitará? ") for j in range(0,i): x = input("Ingrese un número: ") if x > 0: print “El número es positivo. " elif x == 0: print “El número es igual a 0. " else: print “El número es negativo. " Ciclos.
  • 4. Sin embargo este programa no es muy intuitivo, porque obliga a conocer de antemano cuántos números procesará, sin equivocarse, en lugar de ingresar uno a uno los números hasta procesarlos a todos. Debe introducir una instrucción que permita construir ciclos que no requieran que se informe de antemano la cantidad de veces que se repetirá el ciclo.
  • 5. Un ciclo indefinido es de la forma while <condición>: <hacer algo> While es una palabra reservada, la condición es una expresión booleana, igual que en las instrucciones if. Y el cuerpo consiste de una o más instrucciones. El sentido de esta instrucción es el siguiente: Ciclos indefinidos.
  • 6. Un ciclo indefinido es de la forma while <condición>: <hacer algo> 1. Evaluar la condición. 2. Si la condición es falsa, salir del ciclo. 3. Si la condición es verdadera, ejecutar el cuerpo. 4. Volver a 1. Ciclos indefinidos.
  • 7. El esquema del ciclo interactivo es el siguiente:  hayMasDatos hace referencia a “Si”.  Mientras hayMasDatos haga referencia a “Si”:  Pedir datos.  Realizar cálculos. Preguntar al usuario si hay más datos (“Si” cuando los hay). hayMasDatos hace referencia al valor ingresado. Ciclos indefinidos.
  • 8. def pcn_loop(): hayMasDatos = "Si" while hayMasDatos == "Si": x = input("Ingrese un número: ") if x > 0: print "Número positivo" elif x == 0: print "Igual a 0" else: print "Número negativo" hayMasDatos = raw_input("Quiere seguir? <Si-No>: ") Ciclos indefinidos.
  • 9. Suponer que si ingresa el carácter * es una indicación de que desea terminar. El esquema del ciclo con condición de parada es el siguiente:  Pedir datos.  Mientras el dato pedido no coincida con la condición de parada:  Realizar cálculos.  Pedir datos. Ciclos indefinidos.
  • 10. def pcn_loop2(): x=input("Ingrese un número (’*’ para terminar): ") while x <>"*": if x > 0: print "Número positivo" elif x == 0: print "Igual a 0" else: print "Número negativo" x=input("Ingrese un número (’*’ para terminar): ") Ciclos indefinidos.
  • 11. while <condicion>: <hacer algo_1> if <condif>: break <hacer algo_2> Break, el rompe ciclos.
  • 12. El sentido del break es el siguiente: 1. Se evalúa <condición> y si es falsa se sale del ciclo. 2. Se ejecuta <hacer algo1 >. 3. Se evalúa <condif> y si es verdadera se sale del ciclo (con break). 4. Se ejecuta <hacer algo2 >. 5. Se vuelve al paso 1. Break, el rompe ciclos.
  • 13. def pcn_loop3(): while True: x = input("Ingrese un número (’*’ para terminar): ") if x == ’*’: break elif x > 0: print "Número positivo" elif x == 0: print "Igual a 0" else: print "Número negativo" Break, el rompe ciclos.
  • 14. Cuente cuántas letras “A” hay en una cadena x. Dada una cadena x, una función retornará un valor contador que representa cuántas letras “A” tiene la cadena. Es decir: Iniciar el contador en 0 para cada letra de x averiguar si la letra es “A” y en consecuencia tratarla (incrementar en 1 el contador) retornar el valor del contador. Procesamiento de cadenas.
  • 15. def contarA (x): """ La funcion contarA(x) cuenta cuántas letras "A" aparecen en la cadena x .""" contador = 0 for letra in x: if letra == "A": contador = contador + 1 return(contador) Procesamiento de cadenas.
  • 16. Cuando pidan contar cuántas letras “E” hay en una cadena habrá que hacer otra función. Tiene sentido hacer una función más general que permita contar cuántas veces aparece un carácter dado en una cadena.
  • 17. Escribir una función contar(l, x) que cuente cuántas veces aparece un carácter l dado en una cadena x. ¿Hay más letras “A” o más letras “E” en una cadena? Escribir un programa que lo decida.
  • 18. # ARCHIVO: mentemaestra.py # modulo que permitirpa elegir números aleatoriamente import random # el conjunto de simbolos validos en el código digitos = (’0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’) # "elegimos" el código codigo = ‘’ ¿Qué hora es? ¡Hora de jugar!
  • 19. for i in range(4): candidato = random.choice(digitos) # eligiendo digitos no repetidos while candidato in codigo: candidato = random.choice(digitos) codigo = codigo + candidato # iniciamos interaccion con el usuario print "Bienvenido a Mente Maestra" print "Tienes que adivinar un número de ", 4, "cifras distintas" propuesta = raw_input("Que codigo propones?: ") ¿Qué hora es? ¡Hora de jugar!
  • 20. # procesamos las propuestas e indicamos aciertos y coincidencias intentos = 1 while propuesta != codigo: intentos = intentos + 1 aciertos = 0 coincidencias = 0 # recorremos propuesta, verificamos código for i in range(4): if propuesta[i] == codigo[i]: aciertos = aciertos + 1 elif propuesta[i] in codigo: coincidencias = coincidencias + 1
  • 21. print "Tu propuesta (", propuesta, ") tiene", aciertos, "aciertos y ", coincidencias, "coincidencias." # pedimos siguiente propuesta propuesta = raw_input("Propone otro código: ") print "Felicitaciones! Adivinaste el código en", intentos, "intentos."