Leer Cadenas

Tny a.porrua en gmail.com
Mie Mayo 10 21:56:38 CEST 2006


Me gustaría ver cómo se haría con expresiones regulares.
Yo programo a lo bestía y soy consciente de que hay un montón de cosas 
que facilitan el trabajo y que desconozco completamente,
si alguno se anima y envía el código para hacer esto de las moléculas 
mediante expresiones regulares, veo si realmente supone una ventaja y me 
animo a mirarlo.
gracias


Hernan M Foffani escribió:
> On 5/10/06, NeCuDeCo <necudeco en gmail.com> wrote:
>> Obviamente, necesitarias un diccionario para tener los pesos de cada 
>> atomo y
>> otras cosas mas
>> Pero para poder determinar q atomos existen y en que proporciones 
>> dentro de
>> una molecula yo usaria Exp Regualres, ...
>
> Asi es.  Esa fue me metida de pata.  En no recordar (¡glup!) que
> el simbolo de un atomo es una letra mayuscula o una mayuscula y
> una minuscula. ¡Simple!
>
> -Hernán
>
>> ..., luego con esa info me voy al
>> diccionario y saco los pesos y nada mas m,ultiplico :P
>>
>>
>> On 5/10/06, Tny <a.porrua en gmail.com> wrote:
>> >
>> > Hola Jean, supongo que lo primero es leer la cadena, no he visto que
>> > los otros correos hiciesen eso, (o no lo entendí),
>> > puedes transformar la cadena en una lista de tuplas
>> > Ca2CO3 ==> [(Ca,2),(C,1),(O,3)]
>> > Yo lo haría así, igual te inspira para que lo hagas a tu modo ;-)
>> >
>> > def procesar(cad):
>> >     "Transforma cad a lista de tuplas"
>> >     r=[]
>> >     z=len(cad)
>> >     i=0
>> >     while i<z:
>> >     j=i+1
>> >     while j<z and cad[j].islower():
>> >         j=j+1
>> >     k=j
>> >     while k<z and not cad[k].isalpha():
>> >             k=k+1
>> >         if k<>j:
>> >             r.append((cad[i:j],int(cad[j:k])))
>> >         else:
>> >             r.append((cad[i:j],1))
>> >         i=k
>> >     return r
>> >
>> > La segunda parte (cotejar la lista con el diccionario) te lo dejo a 
>> tí,
>> > si no te aclaras vuelve a preguntar.
>> >
>> >
>> > Jean Carlos Rodrìguez escribió:
>> > > Hola lista, tengo una duda sobre como puedo leer una
>> > > cadena, bueno les comento un poco es para sacar el
>> > > peso molecular de un compuesto ejemplo la cadena puede
>> > > ser:
>> > > Ca2CO3
>> > > Debo separar Mayusculas con minusculas, numeros y solo
>> > > Mayusculas para poder buscar los atomos en un
>> > > diccionario
>> > >
>> > > atomos = {C:12,H:1,Ca:40,O:16}
>> > > Pero no se como vincular para solo obtener lo que
>> > > tengo en el diccionario, no se si es algo trivial,
>> > > pero llevo varios dias dandale vueltas a esto, si
>> > > alguien sabe algo o como se lo agradeceria.
>> > > He visto el modulo string,
>> > > Gracias
>> > > Jean Carlos
>> > >
>> >




Más información sobre la lista de distribución Python-es