首页 > 解决方案 > 在这个流循环中,我应该在哪里放置 float() 或任何类型的字符串到数字函数?

问题描述

我要做的是打开某种包含数字的文本文件,然后输入文件中数字的平均值、最小值和最大值。我的第一个问题是我不知道将转换函数放在循环中的哪个位置。代码如下:

for i in range(len(numsInFile)):
    numofNums += 1
    numsInFile = numFile.read()

我在哪里放,说这个循环中的int()or函数?float()

编辑:好的。应一位回答者对此主题的要求,我决定在此处发布我的整个 .py 文件:

  from os import strerror
try:
    numFile = open("nums.txt", 'rt')
    numofNums = 0
    numSum = 0
    avgOfSum = 0
    minOfNums = 0
    maxOfNums = 0
    for i in range(len(numsInFile)):
        numofNums = len(numFile.readline())
        numsInFile[i] = float(numFile.readline().strip())
    numFile.close()
    resultsFile = open("results.txt", 'wt')
    resultsFile.write(numsInFile)
except IOError as IOE:
    print("Oh no! A IOError has occurred: ", sterr(e.errno))

标签: pythonfunctiontype-conversionplacement

解决方案


您需要做的第一件事是确定文件的格式。例如,如果您决定数字将始终用逗号分隔,则可以完全放弃循环。然后你可以这样做:

with open("myFile.txt") as f:
    numOfNums = len(f.read().split(","))

推荐阅读