首页 > 解决方案 > 在后续行中显示数据的大小正在增加

问题描述

我的查询涉及显示每行中的数据大于前一行,即第 2 行 > 第 1 行,第 3 行 > 第 2 行,在重新启动之前,这只会发生到数据包含单词的位置迭代”。

数据集如下

853764622753
1055334825425
927168311000
1142876772659
1390557034408
1538194473087
1567178619062
1459597906913
1345383143356
1204616439828
Australia
33050343783
48852482960
44291490421
52902703376
65951627200
69684317719
74164435946
75244166773
53074370486
37847715736
Azerbaijan

我不知道如何处理代码。我知道您需要初始化一个布尔值以设置为 True。我的最终代码应该能够处理行并给出代码增加的True 或 False的指示。

increased = True
    for x in open("dataset"):
        y = x.rstrip("\n")

        if y.isnumeric():
          floated = float(y)
          if increased = increased and (floated > floated ) ???CONFUSED
            print("GDP increased every year:",increased)
          else:
            print("GDP increased every year:",increased)
        else:
          str(y)

标签: python

解决方案


您将不得不保留前一行的记录并比较这些值。有几种方法可以做到这一点。

一种简单的方法是这样的

previous = None
increased = True
with open('dataset') as f:
    for line in f:
         line = line.strip()
         if not line:
              continue  # ignore blank lines
         if line.isnumeric():
              if previous is not None and increased:
                    # if increased is currently True, see if it is still True
                    increased = float(line) > float(previous)
              previous = line
         else:
              # Now prints out country name
              print('GDP for {} increased every year: {}'.format(line, increased))
              increased = True
              previous = None

您的示例的输出

GDP for Australia increased every year: False
GDP for Azerbaijan increased every year: False

推荐阅读