Итак, я тестирую свой скрипт, в котором я передаю два значения для сравнения.Он проходит через два условных утверждения.Я провел некоторую отладку, и она дважды печатает одно и то же выражение, которое «Текущее значение находится в диапазоне».Сначала он печатает его из первого цикла, а затем из второго цикла.Я не уверен, почему мой код делает это.Он должен только распечатать это один раз и выйти из оператора else, а не переходить ко второму оператору else, который он выполняет в настоящее время.Что я делаю не так, чтобы остановить это?
def compare_sizes(previous_size, current_size):
subtract_f1_f2 = int(current_size - previous_size)
range_num = 0.4
range_previous_day = int(previous_size * range_num)
if subtract_f1_f2 > 0 and range_previous_day > 0 and subtract_f1_f2 >= range_previous_day:
whole_percent = subtract_f1_f2 / previous_size * 100
print (human_bytes(previous_size) +" -> " + human_bytes(current_size) + " " +
"+" + str(whole_percent) + " % bigger" + "\n")
return
else:
print("Current Value Is In Range")
if subtract_f1_f2 <0 and subtract_f1_f2 <= range_previous_day:
whole_percent = abs(subtract_f1_f2 / previous_size * 100)
print (human_bytes(previous_size) + " -> " + human_bytes(current_size) + " " + str(
whole_percent) + " % smaller" + "\n")
else:
print("Current Value Is In Range")
result = compare_sizes(1000,1400)# 40% Bigger
result = compare_sizes(1000,1399)# In Range
# result = compare_sizes(1000,599)