AmF
Сен. 18, 2010 21:03:56
Всем привет!
Такой вопрос (наверное, совсем нубский - но очень надо :=) ): мне надо организовать цикл с условием:
if a == 0 and b == 0 - что-то вроде этого, но, как я понимаю, логические операции в Питоне устроены не совсем так, как в С++. Поэтому результатом проверки условия является не то, что надо (выдается последнее TRUE). Собссна, вопрос: как сделать так, чтобы TRUE выдавалось, если верны ОБА условия (после чего выполняются операции)?
Спасибо
regall
Сен. 18, 2010 21:24:23
AmF
логические операции в Питоне устроены не совсем так, как в С++
так же они устроены как и везде.
AmF
как сделать так, чтобы TRUE выдавалось, если верны ОБА условия
Оно так и есть. Проверьте еще раз значения a и b.
AmF
Сен. 18, 2010 22:07:43
Ну … а в чем тогда моя ошибка? Мне нужна программа, вычисляющая НОД 2-х чисел до тех пор, пока не ввели 2 нуля (если 2 нуля - она закрывается). Моя программа закрывается, даже если введен 1 ноль (тогда как должна продолжать работать).
def main():
...
if a != 0 and b != 0:
print "The Greatest Common Divisor = ", gcd(a, b)
...
else:
...
Vader
Сен. 18, 2010 22:31:48
AmF
Ну … а в чем тогда моя ошибка?
Ошибка в том, что, например, при a = 0 условие a != 0 and b != 0 уже неверно, а следовательно, выполняется ветка else.
AmF
Сен. 19, 2010 08:28:57
А, все, понял, я тормоз. Спасибо)))