2015-02-09 108 views
0

我是Python的新手,我無法弄清楚這段代碼有什麼問題。除了不是打印出我的打印語句,而是我得到這個錯誤,「」和你最喜歡的顏色是%s「)(名稱,任務,顏色) TypeError:'NoneType'對象不可調用」下面是我的代碼。TypeError:NoneType對象不可調用

name = input("What is your name?") 
quest = input("What is your quest?") 
color = input("What is your favorite color?") 

print ("Ah, so your name is %s, your quest is %s," 
"and your favorite color is %s")(name, quest, color) 

回答

9

你的字符串格式語法錯誤

print ("Ah, so your name is %s, your quest is %s and your favorite color is %s" % (name, quest, color)) 

雖然你可能更喜歡新.format風格

print ("Ah, so your name is {}, your quest is {} and your favorite color is {}".format(name, quest, color)) 

這與使用一般{},而不必到指定的大好處類型與舊式的情況類似。


您收到的錯誤是由於對print的評估。鑑於我假設你使用python3這是做這樣的事情

print('hello')() 

這被評價爲

(print('hello'))() 

錯誤,它將調用與參數'hello'先打印。該print函數返回None所以接下來發生的事情是

(None)() 

None是不可調用的,因此你的錯誤

+0

我有見過的+1最好的解釋 – mojo706 2017-10-11 19:18:28