条件语句将值打印两次python

时间:2018-12-07 15:24:29

标签: python python-2.7 if-statement conditional

所以我正在测试我的脚本,在该脚本中我传递了两个值进行比较。它通过两个条件语句。我进行了一些调试,并两次打印出相同的表达式,即“当前值在范围内”。它首先从第一个循环中打印出来,然后从第二个循环中打印出来。我不确定为什么我的代码会这样做。它应该只打印一次并退出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)

0 个答案:

没有答案