将数字写入文件 - 检查代码

Writing numbers into a file- check code

我正在参加我的第一个 CS class,我有一个周五要交的作业。 我只是希望有人检查我的代码并确保它 works/follows 方向。

说明:

编写一个程序:

1) 从用户那里获取数字文本文件的名称。文件中的每个数字各占一行。

2) 一次读入这些数字

3) 将偶数写入名为 even.txt

的文件

4) 将奇数写入名为 odd.txt

的文件

5) 向用户显示正数的总和和负数的计数。

这是我所拥有的

def main():

    #Open text file for reading
    numberFile = open(r'numberFile.txt', 'r')

#Priming read
    number = numberFile.readline()

#Setting up loop to continue reading until
#an empty line is reached
    total = 0
    count = 0
    while number != '':
        number = float(number)                  #convert from string to number
        if number%2 == 0:                       
            evenNumber = open('even.txt', 'w')  #writes even numbers into a file
            evenNumber.write(number + '\n')
        else:
            oddNumber  = open('odd.txt', 'w')   #writes odd numbers into a file
            oddNumber.write(number + '\n')

        for number in numberFile:
            number = float(number)      #convert from string to number

            if number <= 0:             #identify negative numbers
                count +=1               #count negative numbers

            if number >= 0:             #identify positive numbers
                total += number           #sum of positive numbers
        number = numberFile.readline()

    numberFile.close()                  #close file after program is complete
main()

虽然这不是一个代码审查网站,但我会给你一些建议。

  1. 您永远不会从用户那里得到文件名 - 您可能应该添加它。它将类似于 filename = input('Enter filename: ')
  2. 你每次用'w'打开它时都会覆盖even.txtodd.txt。考虑使用 'a+'
  3. 你永远不会输出 totalcount。尝试在这些上使用 print

最重要的是,还有更好的打开文件的方法就是执行这些类型的操作,但我会让你在以后学习这些 class。