Tengo este código:

def LCM(minN,maxN):

    count = 1
    for i in range(count,(maxN*count)+1):
        print(minN*count)
        count = count + 1

Y si lo llamo así: LCM (5,7) me dará los números:

5
10
15
20
25
30
35

¿Cómo podría hacer que la salida del programa (en lugar de todos los números) sea la última, en este ejemplo: 35

Traté de buscarlo en los otros temas, pero ninguno fue de ayuda.

0
Liviosah 11 oct. 2019 a las 16:22

5 respuestas

La mejor respuesta

¿Mover la instrucción print fuera del ciclo for?

def LCM(minN,maxN):
    count = 1
    for i in range(count,(maxN*count)):
        count = count + 1
    print(minN*count)

LCM(5,7)
# 35
2
yatu 11 oct. 2019 a las 13:24

Puedes simplificar tu método LCM:

def LCM(minN, maxN):
    print(minN * maxN)

LCM(5,7)

Salida:

35
2
kederrac 11 oct. 2019 a las 13:39
def LCM(minN,maxN):
    count = 1
    for i in range(count,(maxN*count)+1):
        count = count + 1
    else:
      print(minN*(count-1))
0
jonnyx 11 oct. 2019 a las 13:30

Puede usar una lista :

def LCM(minN,maxN):

    count = 1
    results = []
    for i in range(count,(maxN*count)+1):
        results.append(minN*count)
        count = count + 1
    print(results[-1]) # print the last elements of the list.

Entonces, cuando llame a LCM (5, 7) , obtendrá 35 .

1
codrelphi 11 oct. 2019 a las 13:28

Hagamos algo de simplificación. Aquí está tu código original:

def LCM(minN,maxN):
    count = 1
    for i in range(count,(maxN*count)+1):
        print(minN*count)
        count = count + 1

count podría eliminarse de esto:

def LCM(minN,maxN):
    for i in range(1, maxN+1):
        print(minN*i)

Ahora, desea imprimir solo el último valor de esta secuencia. El último valor de i será maxN:

def LCM(minN,maxN):
    for i in range(1, maxN+1):
        pass
    print(minN * maxN)

O simplemente:

def LCM(minN,maxN):
    print(minN * maxN)
0
Fred Larson 11 oct. 2019 a las 13:40
58342215