SlideShare une entreprise Scribd logo
1  sur  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."

Contenu connexe

Tendances

10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
rodpark
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
1002pc3
 
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Maynor Mendoza
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
Anthony Vera
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
Delvi Ramirez
 
Programa calculadora
Programa calculadoraPrograma calculadora
Programa calculadora
jbersosa
 

Tendances (20)

Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Algoritmos condicionales
Algoritmos condicionalesAlgoritmos condicionales
Algoritmos condicionales
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
 
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
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
 
Alice 3
Alice 3Alice 3
Alice 3
 
Ejemplos en PSeint
Ejemplos en PSeintEjemplos en PSeint
Ejemplos en PSeint
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
Ejercicios en Python
Ejercicios en PythonEjercicios en Python
Ejercicios en Python
 
Diagramas De Estado
Diagramas De EstadoDiagramas De Estado
Diagramas De Estado
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Alice 10
Alice 10Alice 10
Alice 10
 
PRACTICA 2 ALICE
PRACTICA 2 ALICEPRACTICA 2 ALICE
PRACTICA 2 ALICE
 
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
 
Alice 1
Alice 1Alice 1
Alice 1
 
Programa calculadora
Programa calculadoraPrograma calculadora
Programa calculadora
 

Similaire à Ejercicios con Python parte 3

Estructuras de control
Estructuras de control Estructuras de control
Estructuras de control
addaza0
 
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)
r_nivelo21
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3
jfranco_123
 

Similaire à Ejercicios con Python parte 3 (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
 
diagramas de flujo
diagramas de flujodiagramas de flujo
diagramas de flujo
 

Plus de Facultad de Ciencias y Sistemas

Plus 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
 

Dernier

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Dernier (20)

PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 

Ejercicios con Python parte 3

  • 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."