Леонтьев Михаил
Гуру
(3321)
2 месяца назад
В вашем коде есть несколько моментов, которые могут вызывать проблемы. Основная ошибка заключается в том, что вы сравниваете `auto`, который является строкой, с числами (1, 2, 3). Вот исправленный вариант:
```python
exp = 0
rub = int(input("- ")) # Преобразуем ввод в целое число
def aftosalon():
global rub, exp
print("Какую машину вы хотите?")
print("1. Жигуль (100 000 руб.)")
print("2. Chery Tiggo 7 Pro Max (2 000 000 руб.)")
print("3. Tesla Cybertruck AT (32 000 000 руб.)")
auto = input("Введите номер машины - ") # auto остается строкой
if auto == '1': # Сравниваем с строками
exp += 10
if rub >= 100000:
rub -= 100000
print("Ваша машина в гараже!")
else:
print("У вас не достаточно средств для покупки!")
elif auto == '2': # Используем elif для проверки
if rub >= 2000000:
rub -= 2000000
print("Ваша машина в гараже!")
else:
print("У вас не достаточно средств для покупки!")
elif auto == '3': # Используем elif для проверки
if rub >= 32000000:
rub -= 32000000
print("Ваша машина в гараже!")
else:
print("У вас не достаточно средств для покупки!")
else:
print("Некорректный ввод!") # Обработка некорректного ввода
aftosalon()
```
### Изменения:
1. **Преобразование `rub`**: Ввод теперь преобразуется в целое число.
2. **Сравнение `auto`**: Сравнения теперь выполняются со строками (например, `'1'`, `'2'`, `'3'`).
3. **Использование `elif`**: Это позволяет избежать лишних проверок, если одно из условий уже выполнено.
4. **Обработка некорректного ввода**: Добавлено сообщение, если введён некорректный номер машины.
Попробуйте этот вариант, он должен работать правильно!