Вопрос по информатике
Анонимный
2 года назад

Помогите пожалуйста найти ошибку в коде, не работает подсчёт цены в итоге. Срочно надо!



countries = {"Италия": 1600, "Греция": 1650, "Испания": 1900, "Франция": 1700, "Швейцария": 1800}

hotels = {"Маяк", "Лагуна", "Огонёк"}


nomers = {
"Маяк": { "Эконом": 200, "Стандарт": 350, "Полу-люкс": 600, "Люкс": 900 },
"Лагуна": { "Эконом": 250, "Стандарт": 400, "Полу-люкс": 650, "Люкс": 950 },
"Огонёк": { "Эконом": 300, "Стандарт": 450, "Полу-люкс": 700, "Люкс": 1000 }
}

eat = {"Без питания": 0, "Двухразовое": 400, "Трёхразовое": 600, "Четырёхразовое": 800 }

day = {"Неделю": 7, "Две недели": 14, "Три недели": 21, "Месяц": 28, "Два месяца": 56 }





print (" КРАСКИ МИРА")
print("Доступные страны:", countries)
countries = input("Выберите страну: ")

print("Доступные отели:", hotels)
hotel = input("Выберите отель: ")

print("Выберите класс номера в отеле:", nomers[hotel])
nomers = input("Выберите номер: ")

print("Режим питания:", eat)
eat = input("Выберите режим: ")

print("Выберите количество дней проведённых в отеле:", day)
day = input("Укажите выбронное количетво дней: ")




price = countries + (nomers[hotel] * day) + (eat * day)


prin(string)("Стоимость вашего отдыха в стране", countries,"на", day,"в отеле", hotel, "в",nomers, "номере c",eat ,"составит", price, "рублей.")

Ответы 1

Ответ:

Ошибка в коде заключается в том, что переменные countries, nomers, eat и day перезаписываются пользовательским вводом. Это приводит к тому, что при расчете цены происходят ошибки, так как переменные уже не содержат нужных значений.

Для исправления ошибки необходимо использовать другие переменные для пользовательского ввода и сохранять выбранные значения в отдельных переменных. Например:

selected_country = input("Выберите страну: ")

selected_hotel = input("Выберите отель: ")

selected_nomer = input("Выберите номер: ")

selected_eat = input("Выберите режим: ")

selected_day = input("Укажите выбронное количетво дней: ")

Затем можно использовать эти переменные для расчета цены:

price = countries[selected_country] + (nomers[selected_hotel][selected_nomer] * day[selected_day]) + (eat[selected_eat] * day[selected_day])

Исправленный код:

countries = {"Италия": 1600, "Греция": 1650, "Испания": 1900, "Франция": 1700, "Швейцария": 1800}

hotels = {"Маяк", "Лагуна", "Огонёк"}

nomers = {

"Маяк": { "Эконом": 200, "Стандарт": 350, "Полу-люкс": 600, "Люкс": 900 },

"Лагуна": { "Эконом": 250, "Стандарт": 400, "Полу-люкс": 650, "Люкс": 950 },

"Огонёк": { "Эконом": 300, "Стандарт": 450, "Полу-люкс": 700, "Люкс": 1000 }

}

eat = {"Без питания": 0, "Двухразовое": 400, "Трёхразовое": 600, "Четырёхразовое": 800 }

day = {"Неделю": 7, "Две недели": 14, "Три недели": 21, "Месяц": 28, "Два месяца": 56 }

print (" КРАСКИ МИРА")

print("Доступные страны:", countries)

selected_country = input("Выберите страну: ")

print("Доступные отели:", hotels)

selected_hotel = input("Выберите отель: ")

print("Выберите класс номера в отеле:", nomers[selected_hotel])

selected_nomer = input("Выберите номер: ")

print("Режим питания:", eat)

selected_eat = input("Выберите режим: ")

print("Выберите количество дней проведённых в отеле:", day)

selected_day = input("Укажите выбронное количетво дней: ")

price = countries[selected_country] + (nomers[selected_hotel][selected_nomer] * day[selected_day]) + (eat[selected_eat] * day[selected_day])

print("Стоимость вашего отдыха в стране", selected_country, "на", selected_day, "в отеле", selected_hotel, "в", selected_nomer, "номере c", selected_eat, "составит", price, "рублей.")

Премиум статус
Получайте самые быстрые
ответы на свои вопросы
У вас остались
вопросы?
Помоги другим с вопросами
по информатике