Не знаю почему, во всех случаях код работает, но только для случая test("Had", "Ha*d") возвращает ошибку. Я пытаюсь изменить его, чтобы он возвращал false вместо true, потому что false — это ожидаемый ответ программы, и это не работает. Я не уверен, в чем может быть ошибка.
Я попробовал предыдущий код, и ИИ сайта coddy.tech сообщает мне следующее: «В вашей текущей реализации условие для сопоставление символа шаблона со строковым символом неверно. Обязательно сравните символ шаблона со строковым символом по правильному индексу. Кроме того, рассмотрите возможность обработки случая, когда символом шаблона является вопросительный знак «?». по-другому».
def test(s, p):
# Create a DP table with dimensions (len(s) + 1) x (len(p) + 1)
dp = [[False] * (len(p) + 1) for _ in range(len(s) + 1)]
# Initialize DP table
dp[0][0] = True # Both the string and pattern are empty
# Handle patterns that start with '*'
for j in range(1, len(p) + 1):
if p[j - 1] == '*':
dp[0][j] = dp[0][j - 1]
# Fill the DP table
for i in range(1, len(s) + 1):
for j in range(1, len(p) + 1):
if p[j - 1] == '*':
dp[j] = dp[j - 1] or dp[j]
elif p[j - 1] == '.':
dp[j] = dp[j - 1]
elif p[j - 1] == '?':
dp[j] = dp[j - 1] or dp[j - 1]
else:
dp[j] = dp[j - 1] and p[j - 1] == s[i - 1]
# The result is in the bottom-right cell of the DP table
return dp[len(s)][len(p)]
test("Had", "Ha*d")
Подробнее здесь: https://stackoverflow.com/questions/790 ... d-matching
Питонский вызов. Соответствие подстановочным знакам ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ответ Laravel 11 Access-Control-Allow-Origin по-прежнему является подстановочным знаком (*)
Anonymous » » в форуме Php - 0 Ответы
- 102 Просмотры
-
Последнее сообщение Anonymous
-