在课堂上,我们正在研究计算正方形或矩形面积的函数。该程序要求提供一个人的姓名,他们想要的形状以及长度和宽度。然后打印该形状的区域,程序再次循环。我要做的是将每个单独的名称输入和区域输出并输出到文本文件中。我们的老师并不清楚如何做到这一点。任何帮助,将不胜感激。这是代码:
import time
def area(l, w):
area = l * w
return area
def square():
width = int(input("please enter the width of the square"))
squareArea = area(width, width)
return squareArea
def rectangle():
width = int(input("please enter the width of the rectangle"))
length = int(input("please enter the length of the rectangle"))
rectangleArea = area(length, width)
return rectangleArea
def main():
name = input("please enter your name")
shape = input("please enter s(square) or r(rectangle)")
if shape == "r" or shape =="R":
print ("area =", rectangle())
main()
elif shape == "s" or shape == "S":
print ("area =", square())
main()
else:
print ("please try again")
main()
main()
编辑:我不认为我问的问题很清楚,抱歉。我希望能够输入一些内容,例如名称,并能够将其放入文本文件。
答案 0 :(得分:0)
This正是您要找的。行file = open('file.txt', 'w')
创建一个变量文件,其中存储了表示'file.txt'
的文件对象。第二个参数w
告诉函数以“写入模式”打开文件,允许您编辑其内容。完成此操作后,您只需使用f.write('Bla\n')
写入文件。当然,将Bla替换为您想要添加的内容,这可以是您的字符串变量。请注意,默认情况下此函数不会生成换行符,因此如果您想要的话,最后需要添加\n
。
重要提示:完成文件后,请务必使用file.close()
。这将从内存中删除该文件。如果你忘记这样做,它将不会是世界末日,但它应该永远完成。不这样做是导致初学者程序内存使用率高和内存泄漏的常见原因。
希望这有帮助!
编辑:正如MattDMo所提到的,最佳做法是使用with
语句打开文件。
with open("file.txt", 'w') as file:
# Work with data
这将绝对确保对此文件的访问与此with
语句隔离。感谢MattDMo提醒我这件事。
答案 1 :(得分:0)
简单方法:
file_to_write = open('myfile', 'w') # open file with 'w' - write permissions
file_to_write.write('hi there\n') # write text into the file
file_to_write.close() # close file after you have put content in it
如果要在完成所有操作后确保文件已关闭,请使用下一个示例:
with open('myfile.txt', 'w') as file_to_write:
file_to_write.write("text")