У меня возникли проблемы с выяснением того, как назвать переменную внутри оператора if. Любой бит информации поможет (я сокращаю начало кода, потому что все работает до тех пор, пока я не хочу отображать стоимость). P.s это домашнее задание.python не распознает переменную в выражении if
ответ
@Liz: Вышеприведенные комментарии верны. Вам нужно указать значения для переменных для выполнения кода.
x=1
a=2*x # example for your code , after you defined the needed variable x
print a
В примере ниже решении я определяющая функцию (см def
ключевого слова), что позволяет мне писать код, не определив переменные еще. Итак, после того как я закончил определение функции, я могу определить переменные и выполнить функцию.
def dosomething(x): # your code in a function, you don't need to know x yet
a=2*x
return a
x=10 # now you know x and you want to use it in your function
print dosomething(x) # will print 20
Я надеюсь, что это поможет с вашим пониманием. Здесь ваша задача решить:
def totals(cabin,month,n):
if cabin == "inner cabin":
cost = 400 * n
elif cabin == "ocean view cabin":
cost= 800 * n
elif cabin =="balcony":
cost= 1200 * n
# the if-block for the months is separate from the loop for the cost
if month =="july":
tip= 10*5*n
subtotal= cost + tip # add tips
elif month=="june":
tip= 10* 5 * n
cost1= cost + tip
cost2= cost1 * .10 # a 10% discount
subtotal= cost1 - cost2
elif month=="august":
subtotal = cost # no tip, no discount
# there should be an else for other months
return cost, subtotal
month='july'
cabin='balcony'
n=2 # number of passengers
cost,subtotal = totals(cabin,month,n)
print "\nMonth of vaction reservation:",month, \
"\nNumber of passengers:",n, \
"\nType of Cabin:",cabin, \
"\nCost of cabin:",cost, \
"Subtotal:",subtotal
выход:
Month of vaction reservation: july
Number of passengers: 2
Type of Cabin: balcony
Cost of cabin: 2400 Subtotal: 2500
Вы должны добавить пункт назначения, который является еще одним, отдельным решением, т.е. должно иметь свой собственный if..elif..else
блок, если это влияет на любой ценой.
Это нормально, но это не «цикл», потому что он не петляет. Вместо этого назовите его «if block». – Marius
Спасибо, мой недосмотр. Исправлена. – roadrunner66
Я изменил разрыв строки в заявлении на печать на основе комментария JackW327s. – roadrunner66
Предполагая, что это сработало раньше, и вы определили свои переменные и задали им соответствующие значения, прежде чем вводить инструкции if-elif ... похоже, что ваша проблема заключается в том, что промежуточный итог ошибочен в одном месте. Кроме того, поскольку это домашнее задание, проверьте правильность написания каких-либо реальных слов. У меня есть еще одна ошибка, которую я вижу.
Бонусная точка - выяснить, как получить строку печати, содержащуюся в пределах 80 столбцов в редакторе. Google PEP-8. На самом деле такие длинные строки - это просто плохая форма.
О, все, что я сделал правильно правописание на этой переменной и добавил этот код, приведенный выше код, который вы поставки:
cabin = "inner cabin"
passangers = 200
Destination = "Rio"
month = "june"
subtotal = 0
Я хотел бы также предположить, что все условные действия быть последовательными. По моему мнению, во всех случаях должны быть установлены советы, промежуточные итоги и т. Д. Таким образом, вы не получите совершенно разных результатов для каждого условия, если, конечно, это не было задание.
Как следует из другого ответа, включение повторяющихся частей в функцию - это правильный путь. Однако вы, возможно, еще не выполняете функции в курсе. Не знаю.
Удачи & там!
- 1. python определить переменную в выражении if
- 2. JavaScript IF оператор не распознает переменную
- 3. Python - .append не работает в выражении if
- 4. Как сбросить переменную в выражении if?
- 5. Вызвать переменную в выражении if внутри функции
- 6. Определить и проверить переменную в выражении if
- 7. Elixir: Установить переменную в выражении if
- 8. Возможно установить переменную в выражении if else?
- 9. Код не распознает оператор if (Python)
- 10. Номер не добавлен в переменную в выражении if
- 11. VS не распознает переменную
- 12. Не удается получить переменную PHP в выражении if
- 13. Как изменить переменную в выражении If. Почему это не работает?
- 14. Tkinter не распознает мою переменную
- 15. Ошибка отступа в Python в выражении if
- 16. 'break' в выражении 'if'
- 17. upstart - chdir не распознает переменную
- 18. Синтаксическая ошибка в выражении if Python
- 19. Visual Studio не распознает логическую переменную
- 20. Objective C - XCode не распознает переменную за пределами оператора if
- 21. Python: Какова цель двоеточия в выражении if?
- 22. Синтаксис Python Ошибка в выражении if
- 23. Не могу вызвать float() в выражении if
- 24. Настройка переменной в выражении if не работает
- 25. Функция не распознает инициализированную переменную
- 26. Python не выполняет в time.mktime условие в выражении if
- 27. Ошибка Python при использовании «не в» в выражении if?
- 28. + !! оператор в выражении if
- 29. Как заменить переменную в выражении if в функции?
- 30. Возвратитесь в выражении if?
Все они должны быть определены для того, чтобы все они отображались. Как это написано в настоящее время, вы определяете только пару переменных в каждом 'elif'. Вы можете использовать значения по умолчанию, определяя их все перед всеми 'if' и' elif''s – zondo
. Что сказал zondo. Однако я подозреваю, что у вас должно быть два отдельных блока if if elif. Поэтому измените 'elif month ==" july ":' to 'if month ==" july ":' и поставьте перед ним пустую строку, чтобы люди, читающие ваш код, могли легко увидеть, что у него есть два отдельных 'if ... elif 'блоков. –
Я не согласен с downvotes. У полных новичков будут такие проблемы, как не определение переменных. Проблема поставлена достаточно хорошо, чтобы мы могли помочь. – roadrunner66