如果超过某个数字,则用用户输入值替换文件中的值

Replacing values in a file with user input values if above a certain number

我正在做介绍性作业 Python,所以我不想直接回答,只想澄清一下。 我的问题是实现一个函数来向用户询问数字列表,然后检查数字是否大于另一个值,如果是,则将这些值写入文件。我相信我写的是正确的,但我不确定如何检查它。下面是我写的代码:

def numberLogger (filename,minval):
    'ask the user to enter a list of numbers.  If a number is greater than or equal to the second paramter, append it to a file'
    userdata=input('Enter a series of numbers seperated by a comma: ')
    u=userdata.split(',')
    for i in u:
        i=int(i)
        if i>=minval:
            infile=open(filename,'w')
            infile.write(i)
            infile.close()

非常感谢任何帮助,正如我所说,这是家庭作业,所以请不要只是给出答案,而是指导我。

为了清理它,我会做一些事情。只打开文件一次

def numberLogger(filename, minval):
    userdata = input('Enter a series of numbers seperated by a comma: ')
    u = userdata.split(',')
    with open(filename, 'w') as infile:
        for i in u:
            i=int(i)
            if i>=minval:
                infile.write(i)

您还可以使用生成器表达式来过滤数据。

def numberLogger(filename, minval):
    userdata = input('Enter a series of numbers seperated by a comma: ')
    u = userdata.split(',')
    with open(filename, 'w') as infile:
        for i in (i for x in u for i in [int(x)] if i >= minval):
            infile.write(i)