def am_i_alive():
hit_points = 20
if hit_points == 0:
print 'dead'
elif hit_points <= 5:
print 'almost dead'
else:
print 'alive'
am_i_alive()
- Вам нужен
def
ключевое слово, чтобы определить функцию.
- Для сравнения вы должны использовать
==
, а не =
.
- Вы связываете операторы с помощью
elif
.
кроме этого, хорошо выглядит. Как в правильном и компилируемом. Тем не менее, он всегда будет иметь одинаковое значение.
Лучший способ сделать это:
def am_i_alive(hit_points):
if hit_points == 0:
print 'dead'
elif hit_points <= 5:
print 'almost dead'
else:
print 'alive'
am_i_alive(20)
am_i_alive(3)
am_i_alive(0)
Здесь мы пропускании «аргумент» функции. мы называем это am_i_alive(x)
, где x
может быть любым числом. В коде для функции am_i_alive
все, что мы ставим вместо x
, становится значением, обозначаемым hit_points
.
Функция может принимать и два аргумента. (фактически, до 255 аргументов)
def am_i_alive(hit_points, threshold):
if hit_points == 0:
print 'dead'
elif hit_points <= threshold:
print 'almost dead'
else:
print 'alive'
am_i_alive(20, 5)
am_i_alive(3, 2)
am_i_alive(0, 10)
Вы можете понять, что делает последняя версия?
Я не читал его, потому что python не мой первый язык, но мне сказали, что это очень хорошо introduction to python and programming.
Где находится ваш тестовый корпус? Если бы вы написали несколько тестовых примеров, вы бы знали, какие были ошибки, не так ли? –
@ S.Lott В случае отображаемого кода я бы сказал, что это его собственный модульный тест;) – aaronasterling