#python
#python
Вопрос:
Напишите функцию с именем venue(), которая принимает два параметра. Ваша функция должна прочитать значение в параметре string. Если строка == «party» и число < 10, функция должна вернуть «Have it at home». Если строка == «вечеринка» и число > = 10, функция должна вернуть «Лучше арендовать место для проведения мероприятия». Любое другое значение должно возвращать «нанять планировщика событий».
def venue(s, n):
if s == "party" and n < 10:
return "Have it at home"
elif s == "party" and n >= 10:
return "Better rent an event place"
else:
return "Hire an event planner"
a = venue("party", 9)
b = venue("party", 20)
c = venue("party", 100)
Я ожидаю, что последним возвращаемым значением будет «нанять планировщика мероприятий», но я получаю «лучше арендовать место для проведения мероприятий»
Комментарии:
1. Но, party, 100 — это party и n > = 10. верно?
2. Как насчет:
c = venue("wedding", 100)
?3. ДА… ваш код правильный. Ваши тестовые данные и / или ваши предположения о правильном поведении — это то, что неправильно.
Ответ №1:
Поскольку c
соответствует второму условию, оно возвращает "Better rent an event place"
Чтобы исправить это, вы можете изменить строковое значение c
на что-то другое, например "event"
Ответ №2:
Поскольку вы написали в своем цикле, что
if s == "party" and n < 10:
return "Have it at home"
elif s == "party" and n >= 10:
return "Better rent an event place"
else:
return "Hire an event planner"
это означает, что, если есть какое-либо значение n, которое меньше или равно 10, возвращаемым значением будет «Лучше арендовать место для проведения мероприятия». Однако, если значение n отличается от любого значения, меньшего, равного или больше 10, возвращением будет «Нанять планировщика событий», что невозможно в обычных случаях.
Если возможно, то попробуйте что-нибудь изменить в переменных или символах в цикле.
Надеюсь, это поможет.