如何在python

时间:2017-01-03 17:38:55

标签: python text-files

我目前正在学习JavaScript和Python,目前我正在阅读和编写Python文本文件。目前,我正在尝试:编写一个程序,当指示这样做时,应该创建一个文件,其中包含需要重新坐下的学生列表以及他们需要得分的标记数量,以获得至少85 。

我已经编写了代码,显示学生是否达到了85分的最低分数,如果他们还没有,他们还需要多少分数。但现在我被卡住了。非常感谢任何帮助,谢谢!

的Python:

def menu(): 
target = 85   
with open('homework.txt','r') as a_file:
    for l in a_file:
        name, number = l.split(',')
        number = int(number)
        print(name + ': '  + ('passed' if number>=target else str(target - number)))
input()

文字档案:

emma smith,79
noah jones,32
olivia williams,26
liam taylor,91
sophia green,80
mason brown,98

4 个答案:

答案 0 :(得分:1)

您只需打开一个文件来编写打印件:

def menu(): 
    target = 85   
    results = open("results.txt",'w')
    with open('homework.txt','r') as a_file:
        for l in a_file:
            name, number = l.split(',')
            number = int(number)
            results.write(name + ': '  + ('passed' if number>=target else str(target - number)) + '\n')
    input()

答案 1 :(得分:0)

听起来您只想将程序的结果传递到另一个文本文件中。

python file.py > results.txt应该可以解决问题。

(我没有检查你的算法,因为你提到它已经做了你想做的事情)

答案 2 :(得分:0)

在我看来,你正在努力实现以下目标:

  1. 从文本文件中获取数据,您可以这样做
  2. 获取用户输入以打开新文本文件:reSit = input("Enter file name for the re-sit: ")
  3. 创建一个要写入的文件fh = open(reSit ,'w')
  4. 写入文件fh.write(<a fails student> + '\n')
  5. 关闭文件
  6. 如果要附加到fh = open(reSit ,'a')

    的文件替换3

答案 3 :(得分:0)

我想这可能会做你需要的......

def menu():
    out_file = open("results.txt", "w")
    target = 85   
    with open("homework.txt", "r") as a_file:
        for l in a_file:
            name, number = l.split(",")
            number = int(number)
            out_file.write("{},{}\n".format(name, ('passed' if number>=target else str(target - number))))
menu()