« first day (2268 days earlier)      last day (1138 days later) » 
06:00 - 20:0020:00 - 23:00

20:00
con qué unidades trabajas? En fisica tener claras las unidades es fundamental
mira, corregí el resultado, usando el mismo valor de p que tú, pero la temperatura en Kelvin. Sale 32.95
abu.. si se necesita convertir la temperatura en Kelvin, la presión no debería requerir una conversión.
y como quieres que lo sepa si tu formula no tiene unidades
todos esos números de la fórmula deberían especificar en qué unidades van, para saber en qué unidades hay que meter la temperatura y la presión y en qué unidades va a salir la densidad
tampoco sabemos en qué unidades vienen las cosas de tu consulta SQL
lo único que podemos hacer es dar palos de ciego hasta que salgan valores "razonables" según lo que esperas. Pero esa no es forma científica de trabajar. Mira a ver si por algún lado tienes especificaciones de las unidades
@Excorpion si, a ese "ay" me refería
Ahí hay un hombre que dice ¡ay!
20:17
allá hay un hombre que dice ahí nos vemos !!! :se va:
jaja
Wordle (ES) #8 3/6

⬛🟨🟩⬛⬛
⬛⬛🟩⬛🟨
🟩🟩🟩🟩🟩

https://wordle.danielfrg.com
me resulta bastante entretenido el juego
Allá, junto a la haya se halla un niño con su aya.
@_@ bugeo mental
¿ Les parece que este éste esté con acento grave?
@CandidMoe yo pondría comillas en "éste" :-)
y esto me recuerda al pasatiempo favorito de Douglas Hofstadter de crear frases autoreferenciales "raras"
20:23
@abulafia también.
Como por ejemplo: "Esta frase no verbo"
O: "Produce falsedad cuando se pone entrecomillada delante de si misma" produce falsedad cuando se pone entrecomillada delante de sí misma.
O sea, listas circulares.
bueno, es una forma de verlo
otra forma de verlo es: escribe un programa en python que al ejecutarse genere en la salida estándar su propio código fuente
(y no vale print(open("script.py").read()) )
eso es lo que se llama un "quine". Se pueden intentar en cualquier lenguaje y son un pasatiempo retorcido
el más simple sería Basic:
10 LIST
pero eso se considera hacer trampa. La idea es crear una cadena de algún modo e imprimirla
pero de modo que lo que salga sea el programa, que crea la cadena y la imprime
Algo como lo siguiente (pero lo siguiente no funciona)
fuente = 'fuente = "fuente"; print(fuente)'; print(fuente)
Nunca he intentado siquiera resolver ese problema. Me supera.
Mira una solución simple
a = ['print("a =", a)', 'for s in a: print(s)']
print("a =", a)
for s in a: print(s)
20:32
@abulafia No se puede hacer la transformacion a Kevlin?
@JuanPerez Claro que se puede. Pero se debe?
@abulafia Si, se necesita transformar la temperatura a Kelvin.
lo ideal es que la funcion que yo escribí antes diga en su documentación qué unidades espera. Y que quien llame a la función se ocupe de transformarlo a las unidades correctas
convertir T en kelvin es trivial. Basta sumar 273 a T
(si T viene en centígrados)
@CandidMoe Otra:
c='c=%r;print(c%%c)';print(c%c)
Ahh ok.. Si todos los valores que tengo en la columna "temperature" no están transformados a Kelvin.
@abulafia Se requiere que todas las cifras estén en ISO..
O en un python más moderno
20:36
Ya veo.
c='c={!r};print(c.format(c))';print(c.format(c))
@JuanPerez No sé qué significa eso
Bastaría entonces con hacer el +273
result = find_density(26.56 + 273, 5.29)
para la conversiin Centigrados -> Kelvin sí
pero no sé si las unidades de presion son correctas
Las de presion no necesitan convertirse están bien asi como están.
Por lo tanto al hacer esto:
result = find_density(26.56 +273, 5.29)
Result 32.953063721128885
El resultado es correcto
20:58
@abulafia Estas ahí ?
def search_data():
    mydb = mysql.connector.connect(
        host="localhost",
        user="root",
        password="",
        database="prueba"
    )
    mycursor = mydb.cursor()
    mycursor.execute(""" SELECT * FROM data WHERE Density = 0 ORDER BY id ASC """)
    data_content = mycursor.fetchall()
    response = []
    for row in data_content:
        response.append([row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7]])

    return response
Tengo esta nueva funcion para buscar los datos en base de datos.
def convert_kelvin(num):
    return num+273

def find_density(t, P):
    T = convert_kelvin(t)
    coeficientes = np.array([
        569.502E-6 * 2.1224E-6 * T - 513.2105E-9,  # r^3
        738.22E-6 - 569.502E-6 * 2.507E-3 * T,     # r^2
        -569.502E-6 * T,                           # r^1
        P                                          # r^0
    ])
    soluciones = np.roots(coeficientes)
    for s in soluciones:
        if s.imag == 0.0:
            return s.real
    return np.nan()
En la funcion find_density() tendría entonces que crear en for arriba para pasarle el valor de T y p ?
21:14
Supongo. En search_data(), en el for row podría ser un buen lugar donde llamar a la función para luego actualizar la lista response. Eso ya depende de qué quieras hacer
def search_data():
    mydb = mysql.connector.connect(
        host="localhost",
        user="root",
        password="",
        database="prueba"
    )
    mycursor = mydb.cursor()
    mycursor.execute(""" SELECT * FROM data WHERE Density = 0 ORDER BY id ASC """)
    data_content = mycursor.fetchall()
    response = []
    for row in data_content:
        response.append([row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7]])

    return response

def convert_kelvin(num):
    kelvin = 273
@abulafia esto es lo que he hecho a ver si tienes alguna mejora..
Ya lo que me hace falta hacer es actualizar los datos en la columna Density..
Pero no se si sera practico crear otra funcion para recorrer y que actualice..
Yo no lo haría así. Yo dejaría la función find_density() como estaba: single responsability principle, esa función tiene un solo cometido: calcular la densidad a partir de la temperatura y presión
y simplemente llamaría a esa función en un bucle desde otro lugar, si necesitas procesar varias veces la ecuación
Si eso es lo que necesito.. se puede utilizar entonces acá en esa funcion search_data()
con tu modificación la función ya no tiene una sola responsabilidad, ya que la estás usando para dos cosas: procesar una lista y calcular la densidad. La lista para encima tiene una cierta estructura que contiene un id, y otros parámetros, con lo que estás haciendo una función que depende del orden de esa lista de tuplas. Es por tanto menos genérica
hay que separar la funcionalidad. Una función calcula la densidad. Otra procesa la lista (llamando a la primera para cada item)
eso puedes hacerlo si quieres dentro de search_data() o incluso fuera
por ejemplo el programa principal podría limitarse a esto:
original_data = search_data()
processed_data = process_data()
store_in_database(processed_data) # Si esto fuera necesario
Ahora, search_data() es simplemente la que ya tenías
process_data() es una que itera por la lista que salió de la base de datos y para cada elemento extrae T y P y llama a find_density(), reemplazando el resultado en la lista que luego devuelve
Por ejemplo algo así
def process_data(data):
    result = []
    for row in data:
        T = convert_kelvin(row[1])
        P = row[2]
        row[7] = find_density(T, P)
        response.append(row)
    return response
Buenaas
21:25
def process_data():
    mydb = mysql.connector.connect(
        host="localhost",
        user="root",
        password="",
        database="prueba"
    )
    mycursor = mydb.cursor()
    mycursor.execute(""" SELECT * FROM data WHERE Density = 0 ORDER BY id ASC """)
    data_content = mycursor.fetchall()
    response = []
    for row in data_content:
        id_ = row[0]
        T = convert_kelvin(row[1])
        p = row[2]
        d = row[7]
        res = find_density(T, p)
        response.append([id_, res])
@abulafia así lo deje.. tenias razón procesar todo de una en la consulta..
@JuanPerez Eso ya depende de lo que estimes que vas a necesitar en el futuro. Puede ser más general tenerlo en dos funciones: una que extrae lo que está en la base ed datos sin más, sin procesarlo. Otra que recibe esa data y la procesa. Ese enfoque separado te será útil si crees que en el futuro vas a necesitar los datos de la consulta SQL "tal cual" (sin procesar la densidad)
Esta línea creo que te la puedes ahorrar:
    d = row[7]
Pues no usas d para nada
Vale gracias abu...
Por la ayuda..
Una pregunta chicos
Estoy tratando de convertir una cadena de str en formato json a un objeto iterable
Pero no hay tu tía, en python, utilizo el import del json, con json.dumps() y json.loads() pero no hay manera
def main():
    client = Client(KEY, SECRET)

    info = json.loads(json.dumps(client.get_account(), sort_keys=True, indent=4))

    print("The type of object is: ", type(info))

    # print(info)



if __name__ == "__main__":
    main()
Y cuando hago un bufle for para poder recorrerlo, lo que itera es una cadena de texto, no puedo acceder al json como objeto
Vale no he dicho nada XD
21:47
@AQMR que te imprime el print de tu función main?
Nada nada, ya lo conseguí, me imprimia un dict de mis cryptos
Pero como no me salía hasta ahora como objeto, pues estabna en la mierda
iteraba una string XD
a bueno, happy code!
Jajajajaja muchas gracias
De aqui a la pobreza hay un par de pasos nada mas XD
@MauricioContreras no ves lo que no quieres ver ...
Buen fin de semana
22:01
ya es viernes?
ya vi que si
siempre me olvido de que día es XD
no me quiero ir Sr Stark
uy no
estas vacunado?
2 dosis voy
y vos
igual
06:00 - 20:0020:00 - 23:00

« first day (2268 days earlier)      last day (1138 days later) »