字符串到整数和格式化python中的代码

时间:2015-10-05 05:08:43

标签: string python-3.x int

我需要从文件中读取提到字母v的次数。我实际上知道一个事实,如果' v'在那句话中,它将是第一个出现的东西。我设置它的方式是逐字逐句计算,这是它写它的方式,但我想只提一个句子提及次数' v'在整个文件中提到。

f = open("triangle.txt", 'r')      #opens the given name file to read input
fw = open("convert.txt",'w')      #opens the given name file to write in

for line in f:
    data = line.strip().split(" ")
    vertices=0
    vertices =(str(data.count('v')))
    fw.write("Number of vertices = " + vertices +'\n')

f.close()
fw.close()

我试过

vertices += int((str(data.count('v'))))

然而,它一直给我一个错误信息,我无法将字符串转换为整数。 任何建议都非常感谢。

2 个答案:

答案 0 :(得分:0)

如果您只想知道文件中提到v的次数,为什么不简单地执行此操作:

with open('file.dat', 'r+') as f:
    v_count = f.read().count('v')

答案 1 :(得分:0)

首先,如果你想要一个提到'v'次数的句子,那么就写下这行

fw.write("Number of vertices = " + vertices +'\n')

出于循环。其次,

data.count('v') 

将为您提供一个int值作为输出,因此您不必先将其转换为字符串然后再转换为整数。这是修改后的代码;

f = open("triangle.txt", 'r')      #opens the given name file to read input
fw = open("convert.txt",'w')      #opens the given name file to write in
vertices=0
for line in f:
    data = line.strip().split(" ")
    vertices += ((data.count('v')))
fw.write("Number of vertices = " + str(vertices) +'\n')

f.close()
fw.close()

此外,如果句子中的单个词被提及,则您的代码仅计为“v”。要计算'v'发生的总次数,请使用@bad_keypoints建议的内容。