Професионална програма
Loading...
NKKalev avatar NKKalev 12 Точки

04. Sum of two numbers - Nested loops - Lab

Здравейте,

 

Може ли малко помощ със следния код:

 

starting_number = int(input())
final_number = int(input())
magic_number = int(input())

combinations = 0
is_found = False

for i in range(starting_number, final_number + 1):
    for j in range(starting_number, final_number + 1):
        combinations += 1

        if i + j == magic_number:
            print(f'Combination N:{combinations} ({i} + {j} = {magic_number})')
            is_found = True
            break

    if is_found:
        break

    print(f'{combinations} combinations - neither equals {magic_number}')

 

При вход 1,10,5 програмата работи, но при вход 23,24,20 получавам два изхода и не мога да разбера къде трябва да бъде последният Print.

 

Поздрави

Тагове:
0
IrenaRy avatar IrenaRy 5 Точки

Здравей, и аз се сблъсках с този проблем, с най-различен брой изходи. Решението ми (без 'exit') бе, че направих една изнесена най-вляво проверка "ако Булевата стойност НЕ е" и отдолу вече сложих принта, че няма нито една комбинация.

В твоя случай, предполагам, че ще изглежда така накрая:

      if is_found:
         break
if not is_found:
    print(f'{combinations_counter} combinations - neither equals {magic_number}')

 

Ето го моя код целия, който дава 100 точки в Джъдж: https://pastebin.com/XcAttwYR

0
25/10/2019 23:12:33
NKKalev avatar NKKalev 12 Точки

Благодаря!  :)

0