2013-06-19 11 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 

이 나타납니다 라인 번호 또는 스택 트레이스가 도움이 될 것파이썬 sqlite3를 오류

Can't convert 'int' object to str implicitly

+0

사용자 입력이 문자열로 간주되므로 int로 변환하면 정상적으로 작동합니다. 오류에 관한 나머지 출력을 주시겠습니까? – KingJohnno

+0

대개이 오류는 문자열과 정수를 연결하려고 시도 할 때 발생합니다. 예 : ''1 '+ 1' ->'TypeError : int'객체를 str 암시 적으로 str 객체로 변환 할 수 없으므로 코드를 확인하십시오 그런 실수들. –

+0

인쇄 (오늘) SQL = ('+ 놈을 + "(() 가치 카페 INTO INSERT", "", ""+의 Nota + "', '"+ 데이터 + "')") \t cursor.execute (SQL) \t cursor.commit() \t geraMenu() 나머지는 – Isaias20

답변

1

첫째, 코드를 파이썬 2.7에서 "작품"을 제공 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