Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mensajes - Quema

Páginas: [1] 2 3 4 ... 86
1
Computación e Informática / Re: Gráfico ordenado por mes
« en: 25 Noviembre, 2020, 01:20 pm »
La base de datos es larguísima, un ejemplo es éste, ordenado a mano.

import pandas as pd

df = pd.DataFrame([['Feb',254],['Apr',420],['Jan',301],['Mar',449]],columns=['Month','Sales'])

print(df) 

df_ord = pd.DataFrame([['Jan',301],['Feb',254],['Mar',449],['Apr',420]],columns=['Month','Sales'])
print(df_ord)


2
Computación e Informática / Gráfico ordenado por mes
« en: 25 Noviembre, 2020, 02:18 am »
Con este código

cancel_mes_portugal.plot.bar(color='darkgreen', figsize=(15,5))
plt.suptitle('Número de cancelaciones en Portugal por mes', fontsize=20)
plt.xlabel('Meses')
plt.ylabel('Count')
plt.xticks(rotation=360)

legend = plt.legend( title="Bookings Cancelados", fontsize='small', fancybox=True)
plt.show()

No me queda ordenado por mes (creciente en el año) , en cambio aparece según el gráfico adjunto. Còmo hago para ordenarlo de enero a diciembre? Los datos son tomados de un dataset.


3
Computación e Informática / Diccionario de una lista de tuplas
« en: 23 Noviembre, 2020, 12:58 am »
Si de la lista1 me piden que cree un diccionario

{'a':[1,2], 'b':[1,2]}

lista1=[('a',1),('a',2),('b',1),('b',2)]
dic={}
for tupla in lista1:
    dic[tupla[0]]=[tupla[1],tupla[1]]
print(dic)

pero no me aparece el 2.

Luego hice de esta forma, que llegué al resultado, pero ingresando a mano las 'a','b'. no se cómo hacerlo automático

l=[('a',1),('b',1),('a',2)]
l1=['a','b']
la=[]
lb=[]
for i in l:
    if i[0]=='a':
        la.append(i[1])
    elif i[0]=='b':
        lb.append(i[1])
l3=[la]+lb
d=zip(l1,l3)
f=dict(d)
print(f)

4
Computación e Informática / Re: Lista de pares
« en: 22 Noviembre, 2020, 09:44 pm »
Gracias, por qué pusiste:

for i in (x): el paréntesis.

Además, cómo se puede automatizar el
if i[0]=='a' y que no haya que ingresar el 'a' a mano.

Yo lo hice pasando las lista a dos columnas y luego operando en panda.

import pandas as pd
data = x=[('a',2),('a',1),('b',2)]

df = pd.DataFrame(data, columns =['Name', 'Age'])
df['Total']=df.groupby(['Name']).transform('sum')
 
print(df) 


suma bien, pero me quedan dos filas del 'a' y luego no se cómo pasar de columnas a una lista de pares.


5
Computación e Informática / Lista de pares
« en: 22 Noviembre, 2020, 08:56 pm »
Si tengo una lista de pares

x=[('a',2),('a',1),('b',1)]

quiero crear otra lista que me figuren pares con el primer elemento y la suma de los segundos elementos del par, es decir

out=[('a',3),('b',1)]

hice esto, pero no funciona

list=[]
lista1=[('a',1),('a',2),('b',1),('b',2)]
count=0
for i in lista1:
   count+=lista[1]
print(count)


6
Si claro que nos ha servido muchas gracias. Pensé que en el foro está descontado que uno agradece los comentarios, no quise caer en un exceso de agradecimiento.

Yo prefiero, antes de definir una función, ver si el programa que escribo se ejecuta bien. Yo hice este

l=[]
name=''
age=''
a='stop'
while name!=a or age!=a:
    name=input('Ingrese nombre: ')
    age=input('Ingrese edad: ')
    if name!=a and age!=a:
        l.append((name,age))
else:
    print('Gracias')

Pero no entiendo pq tengo que poner el 'and' en while name!=a and age!=a: y no el 'or'.
Además que el loop no me para, me sigue pidiendo el nombre y edad a pesar de ponerle stop.


7
def whiles():
    name=''
    age=''
    lista=[]


    while name!='detener' and age!='detener':
        name=input('Ingrese nombre: ')
        age=input('Ingrese edad: ')
        if name!='detener' and age!='detener':
            edad=int(age)
            lista.append((name,edad))
    return lista
whiles()

dic=dict(lista)
dic

Cree una lista ingresando datos. Quiero afuera de la función crear un diccionario con la lista, pero me dice que no está definida, por más que haya puesto un return dentro de la función. El error que me aparece es

NameError: name 'lista' is not defined

8
Computación e Informática / Suma valores con la misma llave
« en: 21 Noviembre, 2020, 03:08 pm »
Dado dos diccionarios me piden que genere otro tal que se sumen los valores de las llaves iguales de los dos diccionarios. Hice esto, pero no funciona

dic1={'a':1,'b':2}
dic2={'a':3,'b':4}
dic3={}
for x in dic1 and dic2:
    if dic1(x)==dic2(x):
        dic3.update['x']=dic1['x']+dic2['x']
print(dic3)

El tema es que no sé cómo agregar valores en un diccionario. En la lista y conjuntos es bien fácil con append y add, pero no entendí del todo en el diccionario.


9
Computación e Informática / Números aleatorios Python
« en: 21 Noviembre, 2020, 01:32 pm »
Se eligen tres números enteros entre del 1 al 10. Si coinciden se despliega Correcto, al cabo de tres intentos si no los tres no coinciden se despliega juega en otra oportunidad. Pensé en esto, pero no me funciona

import random
def juego():
    a=[]
num1=random.randrange(1, 11)
num2=random.randrange(1, 11)
num3=random.randrange(1, 11)
print(num1,num2,num3)
if num1==num2==num3:
    print('Correcto')
else:
    print('Incorrecto')
    a.append('Incorrecto')
while 'Correcto' not in a and len(a)<3:
juego(x)
    if len(a)==3:
    print('Juega en otra oportunidad')

10
Computación e Informática / abecedario en python
« en: 20 Noviembre, 2020, 07:30 pm »
i) Si tuviera que hacer la lista del abecedario (el inglés) en Python. No se cómo es que podés sumarle una posición a una letra. Si pongo char+1 me da error.

Por ejemplo digo
letra='a'
abc=[]
for i in letra:
abc.append(i+1)

y obviamente me da error.


ii) Luego si dado una palabra escribir otra palabra con la siguiente letra del abecedario de cada posición. Es decir, si se pone 'ab' que salga 'bc'.


11
Pero en tu solución la vocal no se repite en la lista? Siguiendo tu consejo, utilicé set para los casos repetidos

set=set()
a='abadeibdag'
vocales=['a','e','i','o','u']
for char in a:
    if char in vocales:
        set.add(char)
print(list(set))

12
Computación e Informática / Hacer una lista de vocales de una string
« en: 20 Noviembre, 2020, 02:54 pm »
Si quiero hacer una lista donde figuren la vocales de una palabra, probé, primero que extraiga la primera vocal.

name='vocals'
list=[]
    for char in name:
    if char=='a':
         list.append['char']
print(list)

si me funciona seguiría hacia abajo con el resto de las vocales. Se que me dirán otros métodos, pero quiero ver qué estoy haciendo mal.

13
Computación e Informática / Repetir letras de un strinG
« en: 19 Noviembre, 2020, 07:49 pm »
Hola

Dado un string repetir dos veces las letras de forma consecutiva, es decir de hola que salga hhoollaa. Hice esto, medio casero

b="123abc"

print(b[0:1]*2+b[1:2]*2+b[2:3]*2+b[3:4]*2+b[4:5]*2+b[5:6]*2)

Funciona, pero tengo que ingresar a mano los b[i_i+1]

Me da error cuando le pongo el for i in b.


14
Computación e Informática / Re: Secuencia Fibonacci en Python
« en: 19 Noviembre, 2020, 01:14 pm »
Sigo sin entender esto

list.append(x)
        x, y=y, x+y

El programita dice, parto de una lista vacía list[], luego me fijo si el x<=numero, si lo es, le sumo el valor de x en el último lugar de la lista, pero no veo cómo es que entra en juego el y en esta lista.

15
Computación e Informática / Re: Dudas de Python
« en: 19 Noviembre, 2020, 03:55 am »
En realidad no es para mi, es para mi hija que está estudiando Python, no entiende mucho y tiene que preparar un examen. Me tuve que poner de urgencia a estudiar para ayudarla en su preparación. En mi país no hay muchos profesores particulares que la ayuden. Lo bueno es que en internet hay muchísimos sitios con ejercicios, videos, etc. Yo creo que no es difícil, hay que acostumbrarse a la notación y estar atento a los inventos del indentado y cosas similares que complican la cosa. La lógica de los problemas que le ponen es muy sencilla, me saca de quicio no conocer todos los comandos o funciones para poder resolverlos.

16
Computación e Informática / Secuencia Fibonacci en Python
« en: 19 Noviembre, 2020, 02:55 am »
Para generar la secuencia de Fibonacci tengo

def fib(numero):
    x,y= 0,1
    list=[]
    while x<=numero:
        list.append(x)
        x, y=y, x+y
    return list
fib(8)

Pero no entiendo debajo de list.append(x) qué signfica x,y=y, x+y

17
Computación e Informática / Funciones con listas en Python
« en: 19 Noviembre, 2020, 02:53 am »
Supongamos que tengo esta lista

lista=['alto','alto','bajo','gordo', 'flaco' ]

Y me piden que defina una función que cuenta la cantidad de letras que tiene cada elemento de la lista. Esto creo que es fácil y es haciendo



for i in list:
      length=len(i)
      print(length)

Ahora, supongamos me piden un programa que (individualmente cada caso) que muestre:

a) Solamente las letras que tienen más de 4 letras.
b) La cantidad de vocales por palabra.
c) La cantidad de veces que aparece cada palabra.
d) Solamente las palabras cuyo número de letras es múltiplo de 2.

18
Computación e Informática / Re: Dudas de Python
« en: 19 Noviembre, 2020, 01:05 am »
Ok, lo voy a mirar, pero tengo que primero sacarme estas dudas básicas.

Supongamos que tengo esta lista

lista=['alto','alto','bajo','gordo', 'flaco' ]

Y me piden que defina una función que cuenta la cantidad de letras que tiene cada elemento de la lista. Esto creo que es fácil y es haciendo



for i in list:
      length=len(i)
      print(length)

Ahora, supongamos me piden un programa que (individualmente cada caso) que muestre:

a) Solamente las letras que tienen más de 4 letras.
b) La cantidad de vocales por palabra.
c) La cantidad de veces que aparece cada palabra.
d) Solamente las palabras cuyo número de letras es múltiplo de 2.

Creo que si me enseñan esto habré avanzado bastante.


Además, para generar la secuencia de Fibbonacci tengo

def fib(numero):
    x,y= 0,1
    list=[]
    while x<=numero:
        list.append(x)
        x, y=y, x+y
    return list
fib(8)

Pero no entiendo debajo de list.append(x) qué signfica x,y=y, x+y




19
Computación e Informática / Re: Dudas de Python
« en: 18 Noviembre, 2020, 01:07 pm »
Hola

Si no se bien si se guarda en algún lado.

Tengo otra pregunta.

Dado una lista de nombres, sus números telefónicos y el correo electrónico, hay que enviar un correo si el número está mal ingresado.
El número debe tener:
i) Nueve cifras.
ii) Empezar con 0.
iii) El tercer dígito debe ser distinto de 2.

(El indentado podría verse afectado por el copiado y pegado).

Hice lo siguiente, que no funcionó.

usuarios = {'Juan': {'celular': '095534135', 'mail': 'juan@celofan.com.uy'},
            'Maria': {'celular': '093659415', 'mail': 'maria@mail.org'},
            'Ignacio': {'celular': '056', 'mail': 'nacho@nacho.com'},
            'Roberto': {'celular': '094159656', 'mail': 'robertototo@robert.edu'},
            'Estefania': {'celular': '094159135', 'mail': 'estefa@1997'},
            'Mauricio': {'celular': '5759615', 'mail': 'mauriciofuente@empresa.uy'},
            'Raúl': {'celular': 'n/a', 'mail': 'rrodriguez@empresa.uy'}}

def correos(diccionario):
    for key in diccionario.keys():
        print(key)
        if len(diccionario[key]['celular'])!=9 or diccionario[key]['celular'][0]!=0 or diccionario[key]['celular'][2]==2:
            return diccionario[key]['mail']
correos(usuarios)

def correos(diccionario):
    lista_celulares=[]
    lista_celulares_incorrectos=[]

    for key,value in diccionario.items():
        celulares=value['celular']
        #print(celulares)
        lista_celulares.append(celulares)
    return lista_celulares
        #print(lista_celulares)
    for celular in lista_celulares:
        if len(celular)!=9 or celular[0]!=0 or celular[2]==2:
            lista_celulares_incorrectos.append(celular)
    print(lista_celulares_incorrectos)
               
                             
correos({'Juan': {'celular': '095534135', 'mail': 'juan@celofan.com.uy'},
            'Maria': {'celular': '093659415', 'mail': 'maria@mail.org'},
            'Ignacio': {'celular': '056', 'mail': 'nacho@nacho.com'},
            'Roberto': {'celular': '094159656', 'mail': 'robertototo@robert.edu'},
            'Estefania': {'celular': '094159135', 'mail': 'estefa@1997'},
            'Mauricio': {'celular': '5759615', 'mail': 'mauriciofuente@empresa.uy'},
            'Raúl': {'celular': 'n/a', 'mail': 'rrodriguez@empresa.uy'}})

20
Computación e Informática / Dudas de Python
« en: 17 Noviembre, 2020, 03:02 pm »
Hola

Me piden un programa que reciba nombre y edad de personas hasta que una de ellas ingrese la palabra detener. Hice lo siguiente

def cliente ():
      nombre=str(input('Ingresar nombre o detener:'))
      edad=str(input('Ingresar Edad o detener:'))

     while nombre or edad != 'detener':
            nombre=str(input('Ingresar nombre o detener:'))
            edad=str(input('Ingresar Edad o detener:'))

      if nombre or edad=='detener'
           print ('Detenido')
           break

   cliente()

no me funciona, qué estoy haciendo mal.


Páginas: [1] 2 3 4 ... 86