Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как исправить ошибку в Python.

game hipe HIPE Мастер (1624), на голосовании 1 месяц назад
есть код который находи самую похожую игру
 game_name = ['Stardew Valley', 'Portal 2', 'Terraria', 'People Playground', 'Left 4 Dead 2', 'Vampire Survivors', 'Hades', 'Euro Truck Simulator 2', 'Portal', 'RimWorld', 'Lethal Company', 'The Binding of Isaac: Rebirth', "Baldur's Gate 3", 'Bloons TD 6', 'Slay the Spire', 'Hollow Knight', 'Half-Life: Alyx', 'BeamNG.drive', 'Half-Life 2', 'Mount & Blade: Warband', 'Deep Rock Galactic', 'Slime Rancher', 'ULTRAKILL', 'Totally Accurate Battle Simulator', 'HoloCure - Save the Fans!'] 
first_check = []
def finder(search_name):
for el in search_name:
try:
for game in game_name:
for elements in game:
if el == elements:
first_check.append(game)
elif elements.lower == el:
first_check.append(game)

except Exception:
print("lol")
else:
games_count = {}
for games in first_check:
if games not in games_count:
games_count[games] = 1
else:
games_count[games] += 1

max_count_game = max(games_count, key=games_count.get)

return max_count_game


games = finder("Stardew Valley")
print("Самая похожая игра:", games)
но этот код не находит самую похожую игру можете помочь?
Голосование за лучший ответ
Sergio 2.1 Оракул (67665) 2 месяца назад
 import difflib 

game_names = [
'Stardew Valley', 'Portal 2', 'Terraria', 'People Playground', 'Left 4 Dead 2',
'Vampire Survivors', 'Hades', 'Euro Truck Simulator 2', 'Portal', 'RimWorld',
'Lethal Company', 'The Binding of Isaac: Rebirth', "Baldur's Gate 3", 'Bloons TD 6',
'Slay the Spire', 'Hollow Knight', 'Half-Life: Alyx', 'BeamNG.drive',
'Half-Life 2', 'Mount & Blade: Warband', 'Deep Rock Galactic', 'Slime Rancher',
'ULTRAKILL', 'Totally Accurate Battle Simulator', 'HoloCure - Save the Fans!'
]

def finder(search_name):
# Используем функцию get_close_matches для поиска похожих названий
matches = difflib.get_close_matches(search_name, game_names, n=1, cutoff=0.0)
return matches[0] if matches else None

search_game = "Stardew Valley"
most_similar_game = finder(search_game)

if most_similar_game:
print("Самая похожая игра:", most_similar_game)
else:
print("Похожих игр не найдено.")
Похожие вопросы