Показать сообщение отдельно

  #8  
Старый 20.04.2022, 11:32
laiser
Участник форума
Регистрация: 21.12.2013
Сообщений: 181
С нами: 6522707

Репутация: 83
По умолчанию

Цитата:
Сообщение от Andrinall  

Немного поправлю и дополню свой код, раз уж зашёл с пк и вижу сообщение, что он не рабочий.

Lua:





Код:
local
text
=
"[ b][ b][ b]FFF[c][c][c]"
math
.
randomseed
(
os
.
time
(
)
)
for
i
=
1
,
text
:
find
(
"[[ b]]+"
)
do
text
=
text
:
gsub
(
"%[ b%]"
,
math
.
random
(
0
,
9
)
,
1
)
end
for
i
=
1
,
text
:
find
(
"[[c]]+"
)
do
local
symbol
=
string
.
char
(
(
{
math
.
random
(
65
,
90
)
,
math
.
random
(
97
,
122
)
}
)
[
math
.
random
(
2
)
]
)
text
=
text
:
gsub
(
"%[c%]"
,
symbol
,
1
)
end
print
(
text
)


Цитата:
Сообщение от Спойлер  


Lua:





Код:
local
text
=
"[ b][ b][ b]FFF[c][c][c]"
math
.
randomseed
(
os
.
time
(
)
)
for
i
=
1
,
text
:
find
(
"[[ b]]+"
)
do
-- проходимся по тексту кол-во раз, сколько было найдено совпадение с паттерном
text
=
text
:
gsub
(
"%[ b%]"
,
math
.
random
(
0
,
9
)
,
1
)
-- заменяем каждое совпадение на псевдослучайное число
end
for
i
=
1
,
text
:
find
(
"[[c]]+"
)
do
local
symbol
=
string
.
char
(
(
{
math
.
random
(
65
,
90
)
,
math
.
random
(
97
,
122
)
}
)
[
math
.
random
(
2
)
]
)
--[[
    в, скажем так, безымянную таблицу кидаем 2 псевдослучайных числа,
    это номера символов верхнего и нижнего регистров в ASCII Table, выбирается 1 символ верхнего и 1 нижнего регистров
    далее из этих двух псевдослучайных чисел выбираем одно и переводим в символ функцией string.char()
  ]]
text
=
text
:
gsub
(
"%[c%]"
,
symbol
,
1
)
-- заменяем каждое совпадение на псевдослучайный символ ;)
end
print
(
text
)
-- выводим получившийся текст


Можно это всё сделать отдельной функцией

Lua:





Код:
function
randomCode
(
txt
)
if
not
txt
or
#
txt
==
0
then
return
""
end
math
.
randomseed
(
os
.
time
(
)
)
for
i
=
1
,
txt
:
find
(
"[[ b]]+"
)
do
txt
=
txt
:
gsub
(
"%[ b%]"
,
math
.
random
(
0
,
9
)
,
1
)
end
for
i
=
1
,
txt
:
find
(
"[[c]]+"
)
do
local
symbol
=
string
.
char
(
(
{
math
.
random
(
65
,
90
)
,
math
.
random
(
97
,
122
)
}
)
[
math
.
random
(
2
)
]
)
txt
=
txt
:
gsub
(
"%[c%]"
,
symbol
,
1
)
end
return
txt
end


И да, код рабочий:
Я поставил тебе симпу за старание и скажу спасибо за помощь.

Но проблемка в том, что мой вопрос в разделе Python, и я не понимаю, почему вы кидаете код для lua.
 
Ответить с цитированием