我必须编写一个程序,提示用户输入六个测试名称及其分数,并将它们写入名为tests.txt的文本文件中。我必须使用循环,每个输入应写入文件中自己的行。完成后,程序应生成确认消息。
示例输出
Entering six tests and scores
Enter test name objects
Enter % score on this test 88
Enter test name loops
Enter % score on this test 95
Enter test name selections.
Enter % score on this test 86
Enter test name variables
Enter % score on this test 82
Enter test name files
Enter % score on this test 100
Enter test name functions
Enter % score on this test 80
File was created successfully
然后我必须编写另一个程序,该程序使用循环来读取和处理前一个程序中的tests.txt。该程序必须输出一个两列表,显示测试名称和分数。表格完成后,平均值应精确显示到小数点后一位。
示例输出
Reading six tests and scores
TEST SCORE
objects 88
loops 95
selections 86
variables 82
files 100
functions 80
Average is 88.5
这远远超出我必须做的任何事情。到目前为止,我的任务非常简单。我正在使用Python 3.5,因此我无法使用任何新功能。
以进度编辑:
到目前为止,我有第一个生成txt文档的程序:
def main():
myfile = open('test.txt', 'w')
test = input('Please enter test name or enter to quit ')
while test != '':
score = int(input('Enter % score on this test '))
myfile.write(test + '\n')
myfile.write(str(score) + '\n')
test = input('Please enter test name or enter to quit ')
myfile.close()
print('File was created successfully')
main()的
第二个程序看起来像这样并且形状粗糙:
def main():
f = open('test.txt', 'r');
text = f.read();
f.close()
main()的
有人可以给我一些方向吗?谢谢!
答案 0 :(得分:1)
您可以写入如下文件:
'w'
如果文件不存在则会创建该文件并覆盖所有内容。如果您将'a'
替换为f = open('/path/to/your/file.name', 'w')
,它会附加到文件的末尾(您需要自己添加换行符)。
如果您在程序开头时执行f.close()
,最后执行write
,则会写入其中的所有内容(也就是说,它不会覆盖之前的f = open('file.txt', 'w')
f.write('hello, ')
f.write('world!\n')
f.close()
直到输出流被刷新和关闭的操作。)
例如:
file.txt
会将hello, world!
的内容设置为lambda array: sum(array) / len(array)
列表的平均值是其元素之和除以元素数。字面意思只是f = open('file.txt', 'r'); text = f.read(); f.close()
...
要从文件中读取,您可以执行readline
。 product-detail
读取一行而不是整个文件。
从现在开始编写实际程序本身应该是相当简单的,所以我将把实际编码留给你,因为这看起来像是一个家庭作业问题。