PROBLEMA 1 Para cada una de las siguientes expresiones

Anuncio
PROBLEMA 1
Para cada una de las siguientes expresiones, indique el valor devuelto, si la evaluación da lugar a un
error, escriba la palabra "error". Podrías simplemente escribir estas expresiones en un shell de inicio, te
animamos a que respondas directamente ya que esto ayudará a reforzar su comprensión de las
expresiones de Python básicas.
Nota: Prioridad de las operaciones Boolean de Python.
Para estos problemas, es importante entender la prioridad de las operaciones booleanas. El orden de las
operaciones es la siguiente:
1. Los paréntesis. Antes de operar en cualquier otra cosa, Python evalua todos los parentésis
comenzando con los más anidados.
2. not
3. and
4. or
Lo que esto significa es que una expresión como:
not True and False
Se evalúa como False, porque el 'not' se evalúa primero ('not True' es False), después el 'and' se evalúa,
'False and False' es 'False'.
Sin embargo la expresión:
not (True and False)
Se evalúa como True, porque la expresión dentro de los paréntesis se debe evaluar primero – 'True and
False' es False. A continuación, el que 'not' se puede evaluar, es decir, 'not False' es True.
En general, se deben utilizar siempre paréntesis al escribir expresiones para dejar en claro el orden en
que desea que Python evalúa la expresión. Como hemos visto aquí, 'not (True and False) es diferente de
'(not True) and False' - pero es fácil ver cómo Python evaluará cuando se utilizan paréntesis. Una
declaración como 'not True and False' puede traer confusión!
Ejemplo:
1. 3 > 4
False
Realice los siguientes ejercicios con las instrucciones mencionadas.
2. 4.0 > 3.999
3. 4 > 4
4. 4 > + 4
5. 2 + 2 == 4
6. True or False
7. False or False
8. not False
9. 3.0 - 1.0 != 5.0 - 3.0
10. 3 > 4 or (2 < 3 and 9 > 10)
11. 4 > 5 or 3 < 4 and 9 > 8
12. not(4 > 3 and 100 > 6)
PROBLEMA 2
A continuación se presenta una sesión con el shell (interface dinámica) de Python. Para cada expresión
que se evalúa, proporcionar el tipo y el valor de regreso. Si la evaluación fuera un error, selecciona
'NoneType' y escribe la palabra "error". Podrías simplemente escribir estas expresiones en un shell de
inicio, te animamos a que respondas directamente ya que esto ayudará a reforzar su comprensión de las
expresiones de Python básicas.
Supóngase que las expresiones se evalúan en el orden mostrado – esto es, cada parte problema se
evalúa directamente después de la partes anteriores.
Nota: Palabra clave o reservada 'None' de Python
En Python, la palabra clave 'None' se utiliza con frecuencia para representar la ausencia de un valor.
'None' es el único valor en Python del tipo 'NoneType'.
Ejemplo:
1. >>> a = 3
>>> a + 2.0
a)
b)
c)
d)
e)
Nonetype
int
float
boolean
string
Valor: 5.0
Realice los siguientes ejercicios con las instrucciones mencionadas.
2. >>> a = a + 1.0
>>> a
a)
b)
c)
d)
e)
Nonetype
int
float
boolean
string
3. >>> a = 3
>>> b
a)
b)
c)
d)
e)
Valor
Nonetype
int
float
boolean
string
5. >>> a = 5.0
>>> a
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
4. >>> b = 10
>>> c = b > 9
>>> c
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
Valor:
PROBLEMA 3
Para cada una de las siguientes expresiones, indica el valor devuelto, si la evaluación da lugar a un
error, escribe la palabra "error". Podrías simplemente escribir estas expresiones en un shell de inicio, te
animamos a que respondas directamente ya que esto ayudará a reforzar tu comprensión de las
expresiones de Python básicas.
Ejemplo:
1. "a" + "bc"
Valor: 'abc'
Realice los siguientes ejercicios con las instrucciones mencionadas.
2. 3 * "bc"
Valor:
3. "3" * "bc"
Valor:
4. "abcd"[2]
Valor:
5. "abcd"[0:2]
Valor:
6. "abcd"[:2]
Valor:
7. "abcd"[2:]
Valor:
PROBLEMA 4
Para cada una de las expresiones siguientes, especifica su tipo y el valor. Si se genera un error,
seleccione el tipo de 'NoneType' y escribir la palabra "error" en el cuadro para el valor. Podrías
simplemente escribir estas expresiones en un shell de inicio (Interface dinámica), te animamos a que
respondas directamente ya que esto ayudará a reforzar tu comprensión de las expresiones de Python
básicas.
Nota 1: El operador 'in' de Python
Los operadores 'in' y 'not in' prueban la pertenencia a una colección (una "colección" hace referencia a
una cadena, lista, tupla o diccionario - no te preocupes, vamos a cubrir listas, tuplas y diccionarios en
breve). La expresión:
element in col
Evalúa como True si element es un miembro de la colección col, y False en caso contrario.
La expresión:
element not in col
Evalúa como True si element no es un miembro de la colección col, y False en caso contrario.
Tenga en cuenta que la ultima expresión regresa la negación de 'element in col' - es decir, la expresión
'element not in col' es equivalente a la expresión 'not(element in col)'
Nota 2: Slicing avanzado en cadenas
Hemos visto que se puede hacer slicing en una cadena con expresiones tales como s [i: j], la cual
regresa una porción de la secuencia s del índice i de índice j-1. Sin embargo, esta no es la única manera
de hacer slice a una cadena! Si se omite el índice inicial, Python asumirá que usted desea iniciar su
slice en el índice 0. Si se omite el índice final, Python asumirá que usted desea terminar su slice en el
extremo de la cadena. Observa el siguiente código que se ejecuta en la terminal de Python:
>>> s = 'Python is Fun!'
>>> s[1:5]
'ytho'
>>> s[:5]
'Pytho'
>>> s[1:]
'ython is Fun!'
>>> s[:]
'Python is Fun!'
El último ejemplo es interesante! Si se omite tanto el inicio y final del índice, se obtiene la cadena
original!
Hay otra cosa genial que puedes hacer con un slice de cadena. Puede agregar un tercer parámetro, k,
como: s [i: j: k]. Esto da un trozo de la cadena s del índice i de índice j, con el tamaño de paso k.
Observa los siguientes ejemplos:
>>> s = 'Python is Fun!'
>>> s[1:12:2]
'yhni u'
>>> s[1:12:3]
'yoiF'
>>> s[::2]
'Pto sFn'
El último ejemplo es similar al ejemplo de s [:]. Con s [:: 2], estamos pidiendo la cadena completa s
(desde el índice 0 a 13), con un tamaño de paso de 2.
Asuma que se hacen las siguientes asignaciones:
> str1 = 'hello'
> str2 = ','
> str3 = 'world'
Ejemplo:
1. str1
a)
b)
c)
d)
e)
Valor: 'hello'
Nonetype
int
float
boolean
string
Realice los siguientes ejercicios con las instrucciones mencionadas.
2. str1[0]
a)
b)
c)
d)
e)
Nonetype
int
float
boolean
string
3. str1[1]
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
4. str1[-1]
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
Valor:
5. len(str1)
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
6. str1[len(str1)]
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
7. str1 + str2 + str3
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
8. str1 + str2 + ' ' + str3
a)
b)
c)
d)
e)
Nonetype
int
float
boolean
string
9. str3 * 3
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
10. 'hello' == str1
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
Valor:
11. 'HELLO' == str1
a)
b)
c)
d)
e)
Nonetype
int
float
boolean
string
12. 'a' in str3
a)
b)
c)
d)
e)
Valor:
Valor:
Nonetype
int
float
boolean
string
13. str4=str1+str3
'low' in str4
a)
b)
c)
d)
e)
Nonetype
int
float
boolean
string
14. str3[1:3]
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
16. str3[:-1]
a)
b)
c)
d)
Valor:
Nonetype
int
float
boolean
string
15. str3[:3]
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
Valor:
e) string
17. str1[1:]
a)
b)
c)
d)
e)
Nonetype
int
float
boolean
string
18. str4[1:9]
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
20. str4[::-1]
a)
b)
c)
d)
e)
Valor:
Nonetype
int
float
boolean
string
19. str4[1:9:2]
a)
b)
c)
d)
e)
Valor:
Valor:
Nonetype
int
float
boolean
string
PROBLEMA 5
Realiza un programa que pida dos datos al usuario. Guarda estos datos con los identificadores “varA” y
“varB” de tal manera que Python escriba alguno de estos mensajes:
• "Cadenas de caracteres" si varA o varB son cadenas de caracteres
• "Mas grande" si varA es mas grande que varB
• "Igual" si varA es igual a varB
• "Mas pequeña" si varA es mas pequeña que varB
Ayuda 1. ¿Recuerda la función type()?
Ayuda 2. ¿Recuerda de los vídeos tutoriales a la función input()?
PROBLEMA 6
Elabora un programa que resuelva la ecuación de segundo grado:
ax 2+ bx+ c=0
•
Los datos que ingresa el usuario son los coeficientes
•
Debe verificarse que se trata de una ecuación de segundo grado, es decir, el coeficiente “a” debe
ser diferente de cero. ¿Por qué es importante esto?
•
El programa debe desplegar las dos soluciones de la ecuación cuadrática, cuando esto sea
posible, recuerde que solo existen raíces cuadradas de números positivos (no se trabajará con
números complejos). De no ser así, debe de indicar al usuario que las soluciones no son
números reales.
PROBLEMA 7
Escriba un programa que pida al usuario un determinado numero de segundos, el programa debe de
regresar a cuantos días horas minutos y segundos equivale ese numero.
Ejemplo: entrada---->>> 3670
salida---->>> 3670 segundos equivalen a 0 días 1 hora 1 minuto y 10 segundos.
Ayuda. Investigue sobre el operador de Python '//' conocido como división entera.
Nota: Te recomiendo revisar los vídeos en la página del curso
Descargar