Как сказал Илья в комментариях, MID - это функция подстроки.
Итак, этот код генерирует случайное число от 1 до 10, если число равно 3 или 6, оно будет зациклено и создаст другое случайное число, возможно потому, что формат строки либо дд / мм / гггг, мм / дд / гггг, дд-мм-гггг и т. д., где 3-й и 6-й символы не являются числовыми.
Если случайное число не равно 3 или 6, оно выйдет из цикла и вернет символ, который находится в случайной позиции.
Не уверен, почему в то время как для условия While задано условие P> 10, так как RANDINT не должен возвращать значение больше 10.