Поэтому у меня есть следующий код, чтобы найти мин число 3 заданных значений, где abc,xyz,mnl
являются список, содержащие значения для сравнения, как:Python пропуск отрицательных значений
for q , (a,b,c) in enumerate(zip(abc,xyz,mnl)):
print (a,b,c)
if int(a) < int(b) & int(a) < int(c):
print "a","\t",a
elif int(b) < int(a) & int(b) < int(c):
print "b","\t",b
elif int(c) < int(a) & int(c) < int(b):
print "c","\t",c
И я получаю этот выход
('3137775', '-7589493', '-1419231')
('6199235', '-3810275', '-8726482')
('2649229', '-4119818', '3726604')
b -4119818
('-1960710', '2758796', '9426184')
a -1960710
Проблема заключается в том, что он печатает значение min, которое является «b» на 2 итерации, и пропускает 3 итерации перед этой печатью. И он продолжает делать это на каждой итерации, которая содержит более одного значения в отрицательном (-ve) как '-7589493', '-1419231'
, который мы можем увидеть на первой итерации.
Почему он не может напечатать значение мин для каждой итерации
Вы имеете в виду 'и', а не' & '; '&' не является логическим 'и' - это побитовая операция. –
О, так что проблема была неправильной оператором – Anjan
@Anjan да, хотя выбранный метод не блестящий. Это довольно сложно для начала – Tim