首页 > 解决方案 > Python:不使用数字时如何将值分配为实际参数?

问题描述

如果这是一个非常愚蠢的问题,我很抱歉;我是一名英语专业的学生,​​正在选修 COSC 课程(我知道这是愚蠢的决定),所以这一切对我来说都不容易。

这是我要解决的问题:

编写一个程序,接收一个包含消息的文件。消息可以是任意长度。

您的程序将包含两个函数。第一个应该有一个处理文件内容的函数。第二个将获取第一个函数的输出,并将消息打印在一个星号框中。

输入文件应该只是一个单行消息(参见附加的输入示例)。输出应采用该消息,将其拆分为两行,并将其置于框中(请参阅附加的输出示例)。

这是我目前拥有的代码:

    def func1(process_contents): 
       infile=open("october.txt", "r")
       process_contents=print(infile.read())
       return process_contents

    def func2():
       outfile=open("october_output.txt", "w")
       print(func1(message), file=outfile)
       outfile.close()

(我还没有尝试创建星号框......我只是想让这些功能首先工作)。我知道我不能将另一个变量(即“消息”)分配给 func1 中的形式参数“process_contents”,我需要分配一个 VALUE 作为实际参数......但是因为我没有在这个问题中使用数字,我使用的价值是什么?

非常感谢你!!

标签: pythonfunctionparameters

解决方案


print函数默认写入stdout,但不返回值。因此,您必须替换process_contents=print(infile.read())process_contents=infile.read(). 这会将返回的值分配给infile.read()变量process_contents

此外,我建议使用该语句来打开文件,就像python 手册给出的示例with也使用它一样。


推荐阅读