2013-06-19 58 views
1
def menuAdiciona(): 
    nome = input("Digite o nome de quem fez o cafe: ") 
    nota = int(input("Que nota recebeu: ")) 

    if len(str(nome).strip()) == 0: 
     menuAdiciona() 

    if (nota) == 0: 
     menuAdiciona() 

    if nota < 0: 
     nota = 0 

出現這樣的:你在Python 2.7提供的「作品」行號或堆棧跟蹤將是有益的Python的sqlite3的錯誤

Can't convert 'int' object to str implicitly

+0

來自用戶的輸入被認爲是一個字符串,因此將其轉換爲int應該可以正常工作。你可以給出關於錯誤的輸出的其餘部分。 – KingJohnno

+0

大多數情況下,當你試圖連接一個字符串和一個整數時,會看到這個錯誤:例如:''1'+ 1' - >'TypeError:不能將'int'對象隱式轉換爲str,所以檢查你的代碼對於這樣的錯誤。 –

+0

打印(今天) SQL =( 「INSERT INTO咖啡館()VALUES( ' 」+諾姆+「', ' 」+ NOTA +「', ' 」+數據+「')」) \t cursor.execute(SQL) \t cursor.commit() \t geraMenu() 這是其餘的 – Isaias20

回答

1

首先,代碼和3

,但假設它是在片段您提供:

nota = int(input("Que nota recebeu: ")) 

這裏nota是一個int。

if len(str(nome).strip()) == 0: 

下一行你試圖將它轉換爲一個字符串而不指定方式。

喜歡的東西:

if len(("%d" % nota).strip()) == 0: 

應防止錯誤。

這就是說,這條線仍然沒有多大意義。您不應該以strip()爲整數的字符串表示形式。

你想用strip()if len(...) == 0零件完成什麼?

編輯:最後,我想你想要raw_input()而不是input(),除非你在某處也有影子。

+0

嘿jedwards你能寄給我一封電子郵件嗎? 我認爲它更容易發送給我你所有的程序,你看起來全部。 請,如果你有時間。 [email protected] – Isaias20