if n%x ==0:についてなのですが、nは一行目の数値2としxは2行目のfor文の数値2を比較していて余り0なので、0==0:なのでtrueとなり、print(n, 'equals', x, '*', n//x)の結果が出力されると思っていましたのですが、どうしてelseの方の出力結果(一行目と2行目)がされたのでしょうか?
python
1 2for n in range(2, 10): 3 for x in range(2, n): 4 if n % x == 0: 5 print(n, 'equals', x, '*', n//x) 6 break 7 else: 8 # loop fell through without finding a factor 9 print(n, 'is a prime number') 10 11
出力結果:
lw:python-izm wl$ python3 list3.py
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3