Python - Asistencia para verificar que código Python funcione

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 21 puestos en Python (en relación al último mes)
Gráfica de Python

Asistencia para verificar que código Python funcione

Publicado por Angelo (3 intervenciones) el 05/09/2019 17:57:37
Buenas tardes Foro,

Me presento soy Angelo estudiante de informática, y tengo una tarea que realizar, se trata de imprimir los 10 dígitos y que este devuelva el último de los 10 no importando si es par o impar.

Yo empecé con este código.

1
2
3
4
5
6
7
8
9
10
11
12
def num_mayores(num):
num_mayores = 0
   if (x%2 != 0):
        print (" es par")
      else:
        print (" es impar")
    for i in range(0,11):
        digito = num_mayores + 1
 
if __name__ == '__main__' :
print ("El ultimo digito es:" , end="")
print(num_mayores(15))  " el cual me debería dar 34

Sin embargo me arroja un error de código, soy un principiante en esto, recién comenzando en python, por ello mismo acudo a ustedes para que me ayuden a ver que esta malo.

Saludos Cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Asistencia para verificar que código Python funcione

Publicado por tincopasan (1082 intervenciones) el 05/09/2019 18:44:42
1) supongo que la indentación en tú código es la corrrecta
2) podrías por lo menos mostrar el error de código, ya que pueden haber varios, a simple vista 2
3)además que no dará 34 ni por casualidad.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#-*- coding: utf -8 -*-
def num_mayores(num):
    num_mayores = 0      #¿por qué usas el mismo nombre que la  función? 
    if (x%2 != 0):               #x no está declarada 
        print (" es par")        #si el módulo da distinto de 0 es impar NO par
    else:
        print (" es impar")
    for i in range(0,11):
        digito = num_mayores + 1  # esto  y 1 es lo mismo: digito = 1
        # un bucle que siempre da el mismo resultado
#la función no regresa nada! solo imprime par o impar y al reves de lo que es
#para que devuelva un valor necesitas usar return
#¿por qué se supone debe devolver 34?
 
if __name__ == '__main__' :
    print ("El ultimo digito es:" , end="")
    print(num_mayores(15)) #" el cual me debería dar 34 
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha disminuido su posición en 21 puestos en Python (en relación al último mes)
Gráfica de Python

Asistencia para verificar que código Python funcione

Publicado por Angelo (3 intervenciones) el 05/09/2019 20:05:09
Buenas Tardes Tincopac:

Gracias por responder.
Contestaré tus preguntas.

1. La indentación es correcta en mi código, de echo python la reconoce automáticamente una vez que doy enter para la siguiente línea.
2. El error que me da es el mensaje "Invalid sintax" y marca siempre el else: ( entendiendo que if puede trabajar con else, no entiendo porque me marca inválido)
3. Debe dar 34, porque mi profesora solicitó que retorne el décimo número del dígito inicial ya sea par o impar, es por ello, que al final esta un
print(num_mayores(15)) el cual si contando los números pares de ese dígito hasta el décimo lugar dará 34.

La profesora me indicó que primero debo verificar que el dígito ingresado en el print sea par o impar, posteriormente que genere un for para ir
contando progresivamente el número par o impar del inicial que se encuentra en el print(num_mayores()).

Es por ello que uso la sentencia for, como dije soy principiante en esto, y entiendo que tengo errores, antes de postear acá, busqué en foros especializados de Python y no encontré respuesta.

Saludos Cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Asistencia para verificar que código Python funcione

Publicado por tincopasan (1082 intervenciones) el 05/09/2019 21:27:55
la verdad es que no te entiendo bien ni el planteo, pero más o menos esto te servirá para orientarte.
por más nuevo que seas esto es lo más básico de python, intenta entenderlo en lugar de solo copiar código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#-*- coding: utf -8 -*-
def num_mayores(num):
    mayor = num
    if  (num%2 != 0 ):
        mayor+= 1
        for i in range(1,10):
            mayor +=   2
    else:
        for i in range(1,10):
            mayor +=  2
    return mayor
 
if __name__ == '__main__' :
    print ("El ultimo digito es: " , end="")
    print(num_mayores(15))


si entendés esto que es muy simple, podrás adaptarlo a tus necesidades.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha disminuido su posición en 21 puestos en Python (en relación al último mes)
Gráfica de Python

Asistencia para verificar que código Python funcione

Publicado por Angelo (3 intervenciones) el 06/09/2019 19:08:12
Muchas Gracias por la asistencia.
Comprendí tanto la estructura del código como del manejo de la función FOR para el cálculo de los dígitos mayores al ingresado inicialmente.

Saludos Cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar