如果超过某个数字,则用用户输入值替换文件中的值
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)
我正在做介绍性作业 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)