我正在編寫一個程序,它讓用戶輸入一些名稱並創建一個包含這些名稱的文件。我正在使用Python 3.2。我在創建一個文件在我的程序中有一個小問題
number = eval(input("How many names are there? "))
#Say the user enters 2
outfile = open('names.txt', 'w')
for i in range(number):
name = input("Enter a name >> ")
#Say the user first enters Bob
#Then the user enters Joe
print (name, file=outfile)
outfile.close()
print ("Names have been written to file")
它的工作原理,但有一個問題。現在顯示的文件只讀取一行:「Joe」。沒有其他的名字出現,只有最後一個。
當這個程序要求我輸入一個數字時,我會輸入'import os; os.system(「format c:」)'。 – filmor
@filmor意味着你應該儘可能避免使用'eval',尤其是當你對用戶輸入運行時。 – jbowes
影片想說的是你的代碼非常不安全。你應該使用int(input(...))而不是eval。 – CrazyCasta