Условная выписка печатает значения дважды python - PullRequest
0 голосов
/ 07 декабря 2018

Итак, я тестирую свой скрипт, в котором я передаю два значения для сравнения.Он проходит через два условных утверждения.Я провел некоторую отладку, и она дважды печатает одно и то же выражение, которое «Текущее значение находится в диапазоне».Сначала он печатает его из первого цикла, а затем из второго цикла.Я не уверен, почему мой код делает это.Он должен только распечатать это один раз и выйти из оператора 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)
...