ユーザーが整数 10 を入力したとします。3 と 9 の両方が選択されているため、print(the_sum) 行が 12 を生成することがわかっています。なぜ 3 と 9 が選ばれたのかわかりません。if ステートメントの行では、「number % 2 であり、number % 3 ではありません」という箇所で混乱しています。the_sumに追加される3と9を生成するためにその行を変更するために「and not」が何をしているのか理解していないと思います。より理解を深めて前進できるように、どんな助けも大歓迎です。
the_max = int(input("Enter the upper limit:"))
the_sum = 0
extra = 0
for number in range(1,the_max):
if number%2 and not number%3:
the_sum = the_sum + number
else:
extra += 1
print(the_sum)
print(extra)