for文を抜けるだけのbreak文の使い方は合っていますか?


途中で`break`文を2つ使っており、1つ目のbreak文は問題がないと思うのですが、2つ目のbreak文はfor文を抜けるだけのために使っています。

賢いfor文の抜け方はないでしょうか?

> **問題**
>
> Nが1以上9以下の2つの整数の積で表すことができるか判定を判定せよ。
[code]

    N = 15;
    canDevide = False;
    
    for i in range(10):
      for m in range(10):
        result = i * m
    
        if (N == result):
          canDevide = True
          print(str(i) + " " + str(m))
          break
    
      if (canDevide):
        break
    
    print(canDevide)
    
[/code]




> Nが1以上9以下の2つの整数の積で表すことができるか判定せよ。

以下は「賢いfor文の抜け方」ではなく、二重の for loop を一つにしています。  
※ Walrus operator を使用していますので Python 3.8 以降で動作します

[code]

    N = 15
    canDivide = False
    for i in range(1, 10):
      if N%i == 0 and 0 < (m := N//i) < 10:
        print(f'{i} {m}')
        canDivide = True
        break
    
    print(canDivide)
    
[/code]




> Nが1以上9以下の2つの整数の積で表すことができるか判定せよ。

以下は「賢いfor文の抜け方」ではなく、二重の for loop を一つにしています。  
※ Walrus operator を使用していますので Python 3.8 以降で動作します

[code]

    N = 15
    canDivide = False
    for i in range(1, 10):
      if N%i == 0 and 0 < (m := N//i) < 10:
        print(f'{i} {m}')
        canDivide = True
        break
    
    print(canDivide)
    
[/code]

