這裏是我所做的代碼,更多關於它的內容將在下面進行解釋。ValueError:關閉文件時的I/O操作將結果添加到txt文檔時返回
import os.path
if os.path.isfile('Times.txt'): #checks if Times file exists
file = open('Times.txt','r+') #Opens file to read if it does
with open('Times.txt','r+') as f:
mylist = f.read().splitlines()
mylist=[int(x) for x in mylist]
mylist.sort()
if sum(mylist)!=0:
print('Highscore:',mylist[-1],'seconds')
else:
file = open('Times.txt','w') #Creates file if Times.txt does not exist
print("Type the alphabet as fast as you can!") #Game code- User types the alphabet as fast as they can.
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
time.sleep(1)
print("GO!!")
start = time.time()
alph=""
while alph != "abcdefghijklmnopqrstuvwxyz":
alph=input("")
if alph != "abcdefghijklmnopqrstuvwxyz":
print("INCORRECT ALPHABET, TRY AGAIN!")
end = time.time()
timetaken=(end - start)//1
Seconds=timetaken
mins=0
while timetaken >= 60:
timetaken=timetaken-60
mins=mins+1
Time = (mins,"minutes and",timetaken,"seconds")
print('You took',Time)
f.write(str(Seconds)) #Adds time to text file
當我運行的代碼,它返回此錯誤:
Traceback (most recent call last):
File "C:\Users\johnson.427\Desktop\Adam - Copy\Documents\Adam Homework\SWCHS\YEAR 9\Computing\challenge.py", line 104, in <module>
c7()
File "C:\Users\johnson.427\Desktop\Adam - Copy\Documents\Adam Homework\SWCHS\YEAR 9\Computing\challenge.py", line 102, in c7
f.write(str(Seconds))
ValueError: I/O operation on closed file.
這是我做了一個代碼,任務是:
算法
告訴他們按下回車鍵準備好時的鑰匙
第一次在幾秒鐘內(和分鐘)
讓他們鍵入字母並按回車鍵
獲得第二個時間,以秒(和分鐘)
檢查它們是否正確輸入然後
減去首次從第二次
告訴他們多少秒了
擴展他們已經進入了字母正確
保持最佳時間記錄。 < ------ 這是我堅持
處理大寫或小寫字母輸入< ------ 我可以做到這一點,我只是不包括它尚未
編輯:有沒有另一種方法來做到這一點,而不使用TXT文檔?
我想這可能是因爲,如果你是第一次做,會有列表中沒有的項目,但我不知道如何解決它。 – AJ123
另外,任何人都可以通知我關於任何其他**明顯**錯誤,將停止代碼正常運行? – AJ123
添加真正高時間的默認高分。這應該防止文件中沒有任何內容 –