¿Qué muestra por pantalla el siguiente programa?
parcial=9.5
tp=76 #trabajo práctico
asist=76 #% asistencia
tpGrup=7 #trabajo grupal
if asist>=75:
if parcial>=7 and tp>70:
print('Promocionado')
elif tpGrup>8.5 or parcial>9 or tp>90:
print('Promocionado')
elif parcial>7.5:
print('Regular')
else:
print('No regular')
else:
if parcial>7.5 and tpGrup>8.5:
print('Regular')
else:
print('No regular')¿Cuál será la salida por pantalla del siguiente programa?
valores=(1,2,3)
a=15
b=2
print((a-valores[2]*2)*b)¿Qué secuencia de 1s y 0s será la salida?
linea=''
i=3
j=1
while j<=10:
linea+='0'
j+=i
for i in range(3):
for j in range(1):
linea+='1'
print(linea)¿Cuál definición de funcion será la adecuada para el siguiente programa?
def funcion(...):
-
pal1='abreviatura'
pal2='embrutecido'
palMay=funcion(pal1,pal2)
print(palMay.upper(),'tiene más consonantes')
El programa debe mostrar lo siguiente por pantalla:
EMBRUTECIDO tiene más consonantes
¿Cuál de los siguientes ciclos no cumple exactamente 2 vueltas (itera más o menos de 2 veces)?
Nota: se puede invertir una lista usando [::-1].
a=[11,2,3]
a=a[::-1] # a=[3,2,11]¿Cómo queda cargada la lista final al ejecutar el siguiente programa?
lis1=[1,3,5]
lis2=[2,4,6]
final=[]
for elem in lis1:
final.append(lis2)
print(final)¿Qué secuencia de sentencias falta en el siguiente programa?
lisAgua=['mar','río','lago','arroyo']
lisTierra=['monte','sierra','llanura','meseta']
-
-
print(lisAgua)
print(lisTierra)
La salida debe ser:
['mar', 'río', 'lago', 'arroyo']
['sierra', 'monte', 'meseta', 'llanura']
Notas:
El método sort() ordena ascendentemente por defecto: a=[11,2,3] → a.sort() → a=[2,3,11]
El método reverse() invierte las posiciones: a=[11,2,3] → a.reverse() → a=[3,2,11]
El método extend() agrega los elementos de una lista al final: a=[11,2,3] y b=[0,1] → a.extend(b) → a=[11,2,3,0,1]; b.extend(a) → b=[0,1,11,2,3]
¿Qué texto acaba saliendo por pantalla?
frase='igualMENTE VÁLIDOS SON los destinos más lejanos'
cambios=[['válidos','valiosos'],
['más','menos'],
['lejanos','cercanos']]
pal=frase.lower().split()
for i in range(len(pal)):
for camb in cambios:
if pal[i] in camb:
pal[i]=camb[1]
print(' '.join(pal))
Notas:
El método split() sin argumento devuelve una lista con las porciones de un texto separadas por espacios.
Ej: 'unacosa es una cosa'.split() → ['unacosa', 'es', 'una', 'cosa']
El método join() arma una string con los elementos de la lista separados por el carácter del principio.
Ej: '-'.join(['una','cosa','es','una','cosa']) → 'una-cosa-es-una-cosa'
¿Qué se imprime en pantalla?
frase='-La Vuelta al Mundo en 80 días* fue escrito por ?'
numeros=[[10,'diez'],[40,'cuarenta'],
[80,'ochenta'],[90,'noventa']]
autores=['LA VUELTA AL MUNDO EN OCHENTA DÍAS','Verne',
'JANE EYRE','Bronte','LA GUERRA Y LA PAZ','Tolstoi']
for num in numeros:
if str(num[0]) in frase:
pos=frase.index(str(num[0]))
frase=frase[:pos]+num[1]+frase[pos+2:]
desde=frase.index('-')
hasta=frase.index('*')
titulo=frase[desde+1:hasta].upper()
if titulo in autores:
pos=autores.index(titulo)
autor=autores[pos+1]
frase=frase.replace('?',autor)
frase=frase.replace('-','')
frase=frase.replace('*','')
print(frase)
Notas:
El método index() devuelve la posición de inicio de la primera ocurrencia de una subcadena.
Ej: 'unacosa es una cosa'.index('cosa') → 3
Se puede seleccionar una porción de una string con [:]. La posición desde entra en la porción resultante, hasta no.
Ej: 'una cosa es una cosa'[3:10] → ' cosa e'
El método replace() sustituye todas las ocurrencias del primer argumento por el segundo.
Ej: ' la una y la oTRA son iguales'.replace('a','-') → ' l- un- y l- oTRA son igu-les'