Profilo di mhmbox

Nome mhmbox
Indirizzo email n/a
Messaggi2
  • Re: For In
    Forum >> Principianti
    def enum(**enums):
    	return type('Enum', (), enums)Status = enum(ERR=['ERROR', 'Fail'], OK=['OK', 'ready', 'no change','SEND OK'], BUSY='busy', LINK='Link')
    ...
    def process_request(response):
    	has_link = False
    	cid = '0'
    	while( ser.inWaiting() ):
    		ret = ser.readline().strip( "\r\n" )
    		# print ret
    		if (ret in Status.LINK):
    			has_link = True
    		ipd_str = '+IPD,'
    		if (ipd_str in ret):
    			cid = ret[ret.find(ipd_str) + len(ipd_str)]
    	
    	if has_link:
    		# process response
    		send_response(response, cid)
    Ok grazie per la dritta credo di esserci finalmente riuscito.
    Spiegazione chiarissima ed è anche intuitiva la risposta ma non capisco perchè la condizione risulta vera anche per ret="" in if (ret in Status.LINK):
    Il codice proviene da un progetto github per il famoso ESP8266






    --- Ultima modifica di mhmbox in data 2016-03-14 09:44:57 ---

    --- Ultima modifica di mhmbox in data 2016-03-14 09:56:26 ---
  • For In
    Forum >> Principianti
    Salve a tutti non riesco a capire questo passaggio, ovvero l'utilizzo di if e in if. accade che la condizione è vera anche se ret = "" preso dal seguente codice:



    8)]def enum(**enums):
    8)]return type('Enum', (), enums)Status = enum(ERR=['ERROR', 'Fail'], OK=['OK', 'ready', 'no change', 'SEND OK'], BUSY='busy', LINK='Link')....while ser.inWaiting():
    ret = ser.readline().strip("\r\n")
    print str(ret)
    if (ret in Status.LINK):
    has_link = True
    ipd_str = '+IPD,'
    if ipd_str in ret:
    cid = ret[ret.find(ipd_str) + len(ipd_str)8)] 8)]if8)] has_link: send_response(response, cid)

    Qualcuno ha idea del perchè? e di come funzioa il if-in?Grazie

    --- Ultima modifica di mhmbox in data 2016-03-11 11:58:10 ---


    --- Ultima modifica di mhmbox in data 2016-03-14 08:43:15 ---