2016-11-01 2 views
0

Можете ли этот код заглушить здесь ниже быть более похожим на синтаксис if-else?Синтаксис коротких строк if-else

actual = "" 
if fail_or_pass == 'FAIL': 
    actual = "false" 
else: 
    actual = "true" 

я что-то вроде этого пытается, но это не сработало

actual = "" 
acutal = 'false' if fail_or_pass == 'FAIL' else actual = 'true' 
+0

Что вы имеете в виду: 'фактическая = 'ложь', если fail_or_pass == 'СБОЙ' еще«true'' – khelwood

+1

'.. если ... то ...' это выражение производит значение. Удалите 'фактический =' из правой ветви 'else' и исправьте имя переменной (' acutal' с ошибкой). 'actual = 'false', если fail_or_pass == 'FAIL' else 'true'' –

ответ

3

Рядный if/else является выражением. Он будет оценивать первую или третью часть в зависимости от второй части. Назначение должно выполняться только с левой стороны, но не внутри:

acutal = 'false' if fail_or_pass == 'FAIL' else 'true' 

Также вам не нужно инициализировать переменную раньше. И в качестве дополнительного пособия: используйте True и False вместо строк для хранения логических значений, это делает все проще и более согласованным.

actual = fail_or_pass != 'FAIL' 
+0

Хорошая мысль о строках' true/false', но я должен вернуть их как строки, к сожалению. – JonB