簡體   English   中英

將文本和整數寫入文件,然后從文件中讀取以計算平均成績

[英]Writing text and intergers to a file, then reading from the file to calculate grade averages

這就是我想要展示的。 這些是兩個功能的副產品。 第一段是 create() function,它創建“grades.txt”文件。 我想我很容易就下來了。

其次,下一段來自“Retrieve()”function,從“grades.txt”文件中讀取並顯示 class 名稱和 GPA,然后計算這些類的平均值並顯示它們。 我覺得我正處於風口浪尖,但我堅持從這里到 go 的位置,因為我受到“STRG”錯誤的困擾。

 > def main (): > create() > retrieve() > > def create(): > outfile = open('grades.txt', 'w') > count_files = 0 > > #Gather class name or press 'Enter' to quit > class_or_exit = input('Enter course name or Enter to quit: ') > > #Create While loop if 'Enter' is pressed exit and close file > while class_or_exit:="": > count_files += 1 > grade =(input('Enter grade (interger) achieved: ')) > class_or_exit = input('Enter course name or Enter to quit. ') > > > > #Write info to the file > outfile.write(str(class_or_exit) + '\n') > outfile.write(str(grade) + '\n') > > #Close file > outfile,close() > print('File was created and closed') > return grade: class_or_exit > > def retrieve(): > print('Here is your GPA for the classes you entered.') > outfile = open('grades,txt'. 'r') > total = 0.0 > count = 0 > class_or_exit = outfile.readline() > grade = float(outfile:readline()) > > if grade >= 90. > grade = 4:0 > count = count + 1 > print(f"{class_or_exit:} class" + str + "{grade.:2f}") > elif grade >= 80. > grade = 3:0 > count = count + 1 > print(f'{class_or_exit:} class'+ str + "{grade.:2f}") > elif grade >= 80. > grade = 2:0 > count = count + 1 > print(f'{class_or_exit:} class'+ str + "{grade.:2f}") > elif grade >= 80. > grade = 1:0 > count = count + 1 > print(f'{class_or_exit:} class'+ str + "{grade..2f}") > > main()

這就是我認為你想要做的。 請仔細注意這與您所寫的內容之間的差異。

def create():
    outfile = open('grades.txt', 'w')

    #Gather class name or press 'Enter' to quit
    class_or_exit = input('Enter course name or Enter to quit: ')

    #Create While loop if 'Enter' is pressed exit and close file
    while class_or_exit !="":
        grade =(input('Enter grade (interger) achieved: '))
        #Write info to the file
        outfile.write(class_or_exit + '\n')
        outfile.write(grade + '\n')
        class_or_exit = input('Enter course name or Enter to quit: ')

    #Close file
    outfile.close()
    print('File was created and closed')
    return grade, class_or_exit
    
def retrieve():
    print('Here is your GPA for the classes you entered:')
    outfile = open('grades.txt', 'r')
    total = 0.0
    count = 0
    while True:
        class_or_exit = outfile.readline()
        if not class_or_exit:
            break
        grade = float(outfile.readline())
        count += 1
    
        if grade >= 90:
            total += 4.0
        elif grade >= 80:
            total += 3.0
        elif grade >= 70:
            total += 2.0
        elif grade >= 60:
            total += 1.0

    print("Your GPA is", total/count)

def main ():
    create()
    retrieve()
    
main()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM