我是新来的,如果这是个愚蠢的问题,我很抱歉。我得到的数据是按GDP列出的国家(来自factbook)。在这里,它被编译成一个字符串:
'\n1\tEuropean Union\t$ 15,970,000,000,000\n2\tUnited States\t$
15,940,000,000,000\n3\tChina\t$ 12,610,000,000,000\n4\tIndia\t$
4,761,000,000,000\n5\tJapan\t$ 4,704,000,000,000\n6\tGermany\t$
3,250,000,000,000\n7\tRussia\t$ 2,555,000,000,000\n8\tBrazil\t$
2,394,000,000,000\n9\tUnited Kingdom\t$
2,375,000,000,000\n10\tFrance\t$ 2,291,000,000,000\n11\tItaly\t$
1,863,000,000,000\n12\tMexico\t$ 1,788,000,000,000\n13\tKorea, South\t$ 1,640,000,000,000\n14\tCanada\t$
1,513,000,000,000\n15\tSpain\t$ 1,434,000,000,000\n16\tIndonesia\t$ 1,237,000,000,000\n17\tTurkey\t$ 1,142,000,000,000\n18\tIran\t$
1,016,000,000,000\n19\tAustralia\t$ 986,700,000,000\n20\tSaudi Arabia\t$ 921,700,000,000\n21\tTaiwan\t$
918,300,000,000\n22\tPoland\t$ 814,100,000,000\n23\tArgentina\t$
755,300,000,000\n24\tNetherlands\t$
718,600,000,000\n25\tThailand\t$ 662,600,000,000\n26\tSouth Africa\t$ 592,000,000,000\n27\tEgypt\t$
548,800,000,000\n28\tPakistan\t$ 523,900,000,000\n29\tColombia\t$ 511,100,000,000\n30\tMalaysia\t$ 506,700,000,000\n31\tNigeria\t$
455,500,000,000\n32\tPhilippines\t$
431,300,000,000\n33\tBelgium\t$ 427,200,000,000\n34\tVenezuela\t$ 408,500,000,000\n35\tSweden\t$ 399,400,000,000\n36\tHong Kong\t$
375,500,000,000\n37\tSwitzerland\t$
369,400,000,000\n38\tAustria\t$ 364,900,000,000\n39\tUkraine\t$
340,700,000,000\n'
我的脚本经历了这个过程,我想比较一下循环中的x+1
,如果在n
之后有这个数字,那么每次它碰到一个n
之后的整数。我要求它检查它是否与计数器相同,如果是,我打印"here's a line"
。这是我的剧本:
DataCounter = 1
for x in data:
if x == "n":
if x+1 == DataCounter:
print("new line")
print(DataCounter)
DataCounter = DataCounter + 1
我知道这不是完美的,我知道我的例子只上升到9,但它会为我做的工作(可能有歧义)。我遇到了问题,因为它将DataCounter(int)与字符串x+1
进行比较。我该怎么办?错误如下:
Traceback (most recent call last):
File "<pyshell#85>", line 3, in <module>
if x+1 == DataCounter:
TypeError: Can't convert 'int' object to str implicitly
\t
和\n
是单个字符,分别表示制表符和换行符。你不能把他们当作两个角色。你知道吗你可以把整个事情变成一个列表(指数,国家,国内生产总值)3元组在一次去如下:
这样,在列表中循环并测试所需的值就容易多了。你知道吗
数据现在看起来像
相关问题 更多 >
编程相关推荐