2012-07-03 4 views
0

두 가지 질문이 있습니다.사용자가 사전에 값을 추가하는 방법. 메서드가 예상 값을 반환하고 없음

1 - 사용자가 사전에 값을 추가하는 방법은 무엇입니까? 내가 본 dict에 대한 모든 예외는 이미 프로그래머가 미리 정의한 것입니다.

2 - 나는 verificarDisponibilidade()를 호출하고 매개 변수로 True를 전달하면, 내가 기대

class Imovel:          
    tamanho = 0          
    cor = '' 

    def __init__(self, tamanho, cor):    
     self.tamanho = tamanho 
     self.cor = cor 

    def verificarDisponibilidade(self, situacao): 
     self.situacao = situacao 
     if(situacao == True): 
      print 'Imovel disponivel' 
     else: 
      print 'Imovel indisponivel' 

이 클래스를 썼다 "Imovel는을 disponivel"그러나 나는 가지고 :

Imovel disponivel 
None 

궁금 그 "None"이 반환됩니다.

감사합니다. 불량 영어로 죄송합니다.

+1

인쇄 할 것으로 예상되는 문자열을 발생시키는 'print instance.verificarDisponibilidade (True)'를 호출 한 다음 함수의 결과 (None)도 인쇄하십시오. – DanielB

+1

또한 검사 할 때 참 True와 비교하지 마세요. 'if self.situacao :' – DanielB

+0

처음에는'If situacao :'를 넣었지만 약간의 오류가 발생할 수 있다고 생각했습니다. 감사! –

답변

2

인쇄 된 출력과 그 함수의 반환 값이 보입니다. return 문이 없으므로 None이 암시 적으로 반환됩니다. 그게 당신이 보는 것입니다. 사전에 값을 추가

def verificarDisponibilidade(self, situacao): 
    self.situacao = situacao 
    if(situacao == True): 
     return 'Imovel disponivel' 
    else: 
     return 'Imovel indisponivel' 
3

은 간단하다 :

시도하고 비교

d={} 
d['somekey']=somevalue 

또는 사전을 만드는 동안 그것을 할 수 있습니다 :

d={'some_key':some_value,'some_other_key':some_other_value} 

를 또는, 하나의 사전을 다른 하나에 추가 할 수 있습니다.

d1={} 
d2={'foo':'bar'} 
d1.update(d2) 
return 문 지시 한 경우를 제외

는 지금까지 함수가 반환로, 모든 파이썬 함수는 None 반환 :

def foo(): 
    #prints to the screen and returns None 
    print "Hi" 

def bar(): 
    #prints to the screen and returns "Hi" 
    print "Hi" 
    return "Hi" 

를 관련이없는 메모에서, 그것은 object에서 클래스 상속을하는 것이 가장 좋습니다.

class Imovel(object): 
    ... 

이렇게하면 일반적으로 구식 클래스보다 나은 새로운 스타일의 클래스가됩니다.

+0

당신이 오해하고 있다고 생각합니다. 프로그래머가 아닌 최종 사용자로서 알고 싶습니다. 예 : 사용자가 임의의 값 10을 입력하면 사전에 추가됩니다. –

+0

@ crf_h0m3r - 사용자가 값 10을 입력하면 키에 대해 무엇을 사용 하시겠습니까? 'd [ 'user_input'] = raw_input()'또는 그 효과가있는 것을 할 수 있습니다, 그것이 무슨 뜻입니까? – mgilson

+0

몇 명의 학생이 평균 몇 명인 경우, 최종 사용자는 학생의 이름과 그 학생의 이름을 사전에 저장합니다. 학생의 이름은 키이고 평균은 값입니다. (이것은 예입니다) –

관련 문제