Introducción a la programación con Python 3

Page 102

Por más que el estudiante lee el programa, no encuentra fallo alguno. Él dice que la línea 10, la marcada como errónea, se lee así: «si a es igual a cero. . . ». ¿Está en lo cierto? ¿Por qué se detecta un error? 55

1 2 3 4 5 6 7 8 9

10

print a b

if a

Un programador primerizo cree que la línea 10 de la última versión del programa es innecesaria, así que propone esta otra versión como solución válida:

float input float input

0 x b print

print

a

x

Haz una traza del programa para a = 2 y b = 2. ¿Son correctos todos los mensajes que muestra por pantalla el programa?

4.1.3.

Sentencias condicionales anidadas

Vamos a realizar un último refinamiento del programa. De momento, cuando a es 0 el programa muestra un mensaje que indica que la ecuación no tiene solución. Nosotros sabemos que esto no es cierto: si, además, b vale 0, entonces la ecuación tiene infinitas soluciones. Para que el programa dé una información correcta vamos a modificarlo de modo que, cuando a sea 0, muestre un mensaje u otro en función del valor de b: 1 2 3 4 5 6 7 8 9

10 11 12 13 14

print a b

if a if a

float input float input

0 x b print if b

0

0 print if b 0 print

a

x

Fíjate en el sangrado de las líneas. Las líneas 11–14 están más a la derecha que la línea 10. Ninguna de ellas se ejecutará a menos que la condición de la línea 10 se satisfaga. Más aún, la línea 11 está más a la derecha que la línea 10, por lo que su ejecución depende del resultado de la condición de dicha línea; y la ejecución de la línea 12 depende de la satisfacción de la condición de la línea 11. Recuerda que en los programas Python el sangrado determina de qué sentencia depende cada bloque de sentencias. Pues bien, acabamos de presentar una nueva idea muy potente: las estructuras de control pueden anidarse, es decir, aparecer unas «dentro» de otras. Esto no ha hecho más que empezar.

Andrés Marzal / Isabel Gracia / Pedro García - ISBN: 978-84-697-1178-1

100

Introducción a la programación con Python 3 - UJI - DOI: http://dx.doi.org/10.6035/Sapientia93


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.