Проблема «Учитывая 2 ints, a и b, возвращает True, если один из них равен 10, или если их сумма равна 10."Использование «или» при оценке целых чисел
В первом тесте, почему ввод (9,9) и (8,3) возвращает True?
С тех пор я решил проблему, используя другое решение (далее ниже), но я стараюсь понять, почему первое решение не работает, поскольку ни одно целое не равно 10, ни они не равны 10 при суммировании!
Благодарим за помощь.
def makes10(a, b):
if a or b == 10:
return True
if a + b == 10:
return True
else:
return False
def makes10(a, b):
if a == 10:
return True
if b == 10:
return True
if a + b == 10:
return True
else:
return False
'a or b == 10' означает' (a! = 0) или (b == 10) '. Конструкция, которую вы хотели, - 'a == 10 или b == 10'. Достаточно ли вам понять свою ошибку? – zwol
Дубликат [this] (http://stackoverflow.com/questions/15112125/how-do-i-test-one-variable-against-multiple-values) – timgeb
А, да. @timgeb: это намного лучший дубликат, чем тот, который я выбрал. Вариации этого вопроса задавались так много раз. Благодаря! –