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