あと、結局これだとループ判定が無条件whileで、脱出判定でさらに判定させてるから非効率では?