file.write(newrecord)
NameError:名字「文件」是沒有定義NameError:名字「文件」是沒有定義
這是我得到一個錯誤。
classa = int(input("What class are you in?"))
if classa == "1":
file=open("class 4.csv", "a+")
file.write(newrecord)
文件明確定義,我不知道爲什麼我收到此錯誤。
file.write(newrecord)
NameError:名字「文件」是沒有定義NameError:名字「文件」是沒有定義
這是我得到一個錯誤。
classa = int(input("What class are you in?"))
if classa == "1":
file=open("class 4.csv", "a+")
file.write(newrecord)
文件明確定義,我不知道爲什麼我收到此錯誤。
您的縮進已關閉。 Python基於縮進處理塊。另外,正如@davidism在上面的評論中指出的那樣,你正試圖將一個int與一個字符串進行比較。
試試這個:
classa = int(input("What class are you in?"))
if classa == 1:
myfile=open("class 4.csv", "a+")
myfile.write(newrecord)
假設newrecord
在代碼中定義超過這個地方。
再次編輯代碼以滿足克萊頓的評論。 file
是Python v2.2 - v2.7中的構造函數。
這是問題的一半,另一半是@davidism發佈的內容:'input'被轉換爲'int',然後與'str'相比較,所以即使用戶輸入'1',測試_never_也會通過, 。 – ShadowRanger
@ShadowRanger看到 - 我給了大衛+1評論。 –
我只是建議你把它放到你的答案中,這樣就完成了;我不喜歡僅僅解決問題的單方面問題(當然整個問題可以解決;這裏發佈的一些問題只是一堆可怕的問題)。 – ShadowRanger
如果classa不是「1」,會發生什麼情況? – Alp
@Alp我爲此做了代碼,但如果我爲classa輸入1,則會出現錯誤。 –
檢查您的縮進。 – user2357112