我在運行這個程序時遇到了困難,沒有創建邏輯錯誤。我想知道如果有人能向我解釋什麼是錯的。我對文件代碼的工作:運行循環時讀取文件?
def main():
myfile = open('tests.txt','w')
print('Enter six tests and scores or Enter to exit')
print('--------------------------') #I added this feature to make the code
#more structured
testName = input('Enter test name: ')
while testName != '':
score = int(input('Enter % score of this test: '))
myfile.write(str(score) + '\n')
testName = input('Enter test name: ')
myfile.write(testName + '\n')
myfile.close()
print('File was created successfully')
main()
但這種代碼,我跑讀取和輸出文件是給我一個邏輯錯誤。我知道代碼是及時編寫的,但我不知道發生了什麼。能否請你檢查我的代碼,並告訴我爲什麼它不工作:這是代碼
第一個節目def main():
myfile = open('tests.txt','r')
print('Reading six tests and scores')
print('Test\t Score')
print('----------------------------')
test_score = 0
counter = 0 #for number of tests
line = myfile.readline()
while line != '':
name = line.rstrip('\n')
score = int(myfile.readline())
test_score += score
print(name, score)
line = myfile.readline()
counter += 1
myfile.close()
average = test_score/ counter
print('Average is',format(average,'.1f'))
main()
輸入/輸出應該是
輸入6次測試,成績 輸入測試名稱對象 輸入%得分在這個測試88 輸入測試名稱循環 在這個測試95 輸入測試名稱選擇 在這個測試86 輸入測試名稱變量 在這個測試中輸入%得分82 輸入測試名稱的文件 輸入%分數輸入%評分輸入%得分在這個測試100 輸入測試名稱功能 在這個測試80 文件成功創建
輸出第二程序讀取該文件應該是輸入%得分:
讀6次測試,分數 TEST SCORE 對象88 迴路95個 選擇86個 變量82個 文件100個 功能80 平均是88.5
你得到了什麼輸出?慾望輸出是什麼?向我們展示如何知道存在邏輯錯誤 – SaggingRufus
錯誤消息是Traceback(最近呼叫的最後一個): 文件「C:\ Users \ ab \ Desktop \ chapter 6 \ program 6_2.py」,第19行,在 main () 文件「C:\ Users \ ab \ Desktop \ chapter 6 \ program 6_2.py」,行11,主 score = int(myfile。readline()) ValueError:以int 10爲基數的無效文字:'\ n' –
ABerrio
第一個文件的輸入應該是 - 輸入六個測試和分數 輸入測試名稱對象 在此測試中輸入%分數88 輸入測試名稱循環 在這個測試95 輸入測試名稱選擇 在這個測試86 輸入測試名稱變量 在這個測試82 輸入測試名稱的文件 在這個測試中輸入%分數輸入%分數進入%的分數輸入%評分100 輸入測試名稱功能 在此測試中輸入%得分80 文件已成功創建 – ABerrio