Владимир Жданов: В вашем примере вы перебираете в качестве вариантов ключей строки. Они и будут в словаре строками. Никак иначе: {'mama': _} . Не строками у вас были бы (в качестве ключей), например, числа: {1:_}. Ну или кортеж, скажем {('mama,'):_}...
И, смотри, есть такой один из строковых методов lower(), например. Он приводит текст к маленьким буквам, например: s = 'Mother', s.lower() - 'mother'. Так вот, используя его, можешь сократить проверку до if podskazka.lower() == 'да'... Потому что, что бы не ввел пользователь ('да', 'Да', 'ДА', 'дА'), ты этим методом автоматически преобразуешь его вариант в 'да'. Может окажется полезным.
Артем Кисленко:
1. Это не реализация. Это ответ на один вопрос, вырванный из контекста.
2. Корректность программы (игры) может определить только автор. Что значит, "мертвый не может ответить"? Я, например, хочу реализовать возможность "воскрешения" некоторых своих героев... Или, почему вы отрицательное здоровье считаете "мертвый"? В моей реализации это, возможно, "тяжело раненый"... И т.д. и т.п.
Для корректной реализации подобных программ, когда автором являетесь не вы, нужно очень много времени провести в беседе с потенциальным заказчиком, чтобы четко, до мелочей, понять, что ему нужно.
Сергей, а чуть больше информации? У вас 38 корзин всего... Они все заполнены? Все разными фруктами? Под завязку? 6 оставшихся яблок почему нельзя в другую свободную корзину положить? Сколько видов фруктов всего?.... Очень много вопросов...
Ну как так? Если есть строка, условно "мама мыла раму" и вы проверите if "мама" in строка, все нормально проверит: True либо False (если вместо мамы проверите папу, например)...