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

После того как я дал значение переменной auto у меня перестаёт работать скрипт!

Данил Трунченко Ученик (136), закрыт 2 месяца назад
После того как я дал значение переменной auto у меня перестаёт работать скрипт!
 exp = 0 
rub = input("- ")
def aftosalon():
global rub, exp, auto
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("Введите номер машины - ")
if auto == 1:
exp += 10
if rub >= 100000:
rub -= 100000
print("Ваша машина в гараже!")
else:
print("У вас не достаточно средств для покупки!")
if auto == 2:
if rub >= 2000000:
rub -= 2000000
print("Ваша машина в гараже!")
else:
print("У вас не достаточно средств для покупки!")
if auto == 3:
if rub >= 32000000:
rub -= 32000000
print("Ваша машина в гараже!")
else:
print("У вас не достаточно средств для покупки!")
aftosalon()
Лучший ответ
Леонтьев Михаил Гуру (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. **Обработка некорректного ввода**: Добавлено сообщение, если введён некорректный номер машины.

Попробуйте этот вариант, он должен работать правильно!
Данил ТрунченкоУченик (136) 2 месяца назад
Спасибо, всё работает !
Остальные ответы
Владимир Агатов Ученик (222) 2 месяца назад
Alt+F4 включит нейросеть для выявления ошибок!
Данил ТрунченкоУченик (136) 2 месяца назад
Я уже пробовал и зачем мне закрывать программу?
Похожие вопросы