Python - 当变量变化时

时间:2017-10-22 20:21:28

标签: python

我正在为我的python bot制作一个基本代码,但我遇到了一个问题:让我假设我有一个变量,因为A是一个取自API的变量,它是&#39 ; s值的变化。我希望我的机器人在A变化x%时打印X(例如,10%)。我知道如何制作if语句,但问题是百分比部分,有没有办法告诉我的机器人在变量10/20/30%变化时打印一些东西?

2 个答案:

答案 0 :(得分:0)

如果A的值是数字,那么这将有效:

percent_change = 100 * (new_A - old_A) / old_A

或者如果你不想要否定:

import math

percent_change = math.fabs(100 * (A_final - A_initial) / A_initial)

答案 1 :(得分:0)

考虑变量保持的值是 string 类型:首先,您应该根据计算值差异的逻辑来确定。

例如,下面是根据两个条件确定差异的示例代码:

  • 较旧和较新字符串的每个索引的值
  • 如果两个字符串的长度不同,请用“|”填充缺少的字符。然后根据较大字符串的长度计算百分比变化。

示例代码:

>>> from itertools import zip_longest
>>> old_a = 'Hello'
>>> new_a = 'World X'
>>> (sum(i!=j for i, j in zip_longest(old_a, new_a, fillvalue='|'))/max(len(old_a), len(new_a)))*100
85.71428571428571