Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - metalost

#1
Scripting / Python Ordenar diccionarios ¿listas?
26 Febrero 2018, 01:01 AM
Código (python) [Seleccionar]

#-*-coding:utf-8-*-
import time
id1=0
alumnos={}

def agregar():
global id1,alumnos
id1+=1
nomb=raw_input("Ingrese el nombre del alumno n"+str(id1)+": ")
ntot=0.0
notasA=[]
for x1 in range(0,4):
notas1=int(input("Ingrese nota n"+str(x1+1)+": "))
ntot+=notas1
notasA.append(notas1)
ntot=(ntot/4)
alumnos[id1]=[nomb,ntot,notasA]

def ordenar():
global alumnos
print alumnos.sort()

def consultar(alumnos):
for x in alumnos:
print "N"+str(x),"Nombre: "+alumnos[x][0],"Promedio: "+str(alumnos[x][1])

while True:
print"""

############# Opcion 1: Agregar     #############
############# Opcion 2: Consultar   #############
############# Opcion 3: Cerrar      #############
"""
opc=int(input("Elija la opcion que desea: "))

if opc==1:
agregar()
elif opc==2:
ordenar()
consultar(alumnos)
elif opc==3:
print alumnos
break
else:
print ""
print ""
print "Opcion Invalida por favor vuelva a intentarlo cuando salga la pantalla"
time.sleep(3)
print ""
print ""



Crei que con el .sort podria hacerlo, pero... Que podria aplicar o hacer para que pueda ordenar todos los datos segun por ejemplo el promedio
#2
Scripting / Reportlab (Py2.7) Ordenamiento
26 Junio 2017, 00:48 AM
Disculpen que haga una pregunta tan abierta, pero estuve buscando informacion al respecto, y solo encontre una a medias que usa pero con Django, y no me sirve... (Ni entiendo)

Como se podria hacer con reportlab algo que permita ingresar datos, y que los lleve a las tablas por ejemplo, ingresar nombre, apellido y cedula y que los escriba en un pdf asi como

Nombre        |Apellido     |Cedula
Pablo juanito  Perez Zorro 3.231.231

Si me pudieran dejar links o material donde pueda apreciar en español mas sobre el tema, tambien seria genial
#3
Gracias por tu solucion once, pero creo que no me sirve del todo, porque lo necesito añadir todo a un .txt, y ese .txt, deberi apoder añadir mas informacion...  es decir, cerrarlo, abrirlo, que mantenga la informacion que ya tenia, y agregar mas sin que se descuadre nuestro "Cuadro" Alguna otra solucion?   Muchas gracias por su ayuda  ;D ;D ;D

Estaba pensando en algo que usara el

Código (python) [Seleccionar]

max_columna_uno = max(map(len, columna_uno))


Pero con una condicion, que si excede x numero de caracteres, haga un salto de linea, ¿Eso se podria hacer? :huh:
#4
Código (python) [Seleccionar]


#-*-coding:utf-8-*-
archi=open('datos.txt','a')
idss= 0
ids =[]
nombres =[]
apellido=[]
CID=[]
Direccion=[]
telefono=[]
x=1
while x!=0:
idss+=1
nomb = raw_input("Ingrese su nombre: ")
nombres.append(nomb)
apell= raw_input ("Ingrese el apellido: ")
apellido.append(apell)
Cde= raw_input ("Ingrese su Cedula: ")
CID.append(Cde)
direc= raw_input ("Ingrese su direccion: ")
Direccion.append(direc)
tlf = raw_input("Ingrese su numero de telefono: ")
telefono.append(tlf)
ids.append(idss)
ingreso=raw_input("Desea ingresar alguien mas? S/N: ")
if ingreso== "N" or ingreso == "n":
x=0
txta=str(idss) +") " +nomb+" "+apell+" "+Cde+ " "+direc+ " "+tlf
archi.write(txta)
archi.write("\n")

archi.close()




El programa como se puede apreciar, recolecta una serie de datos, y las añade a un archivo .txt pero... tengo un problema y es que se supone que cada dato, debe estar bajo una columna de su respectiva sección... Ejemplo "Nombre" deberia mostrarse asi como

   Nombre       Apellido       Telefono
 1)  pepe           castellano     999912
 2) felipe           manriquefortiquepalacios  92399123123

como pueden ver, si ejecutamos el programa suponiendo que coloquemos de manera manual en el txt la parte de nombre, apellido y telefono, de manera que ya el codigo coloque los datos, existe el problema de que pase como en el ejemplo la parte 2) que, los caracteres exceden su campo, dezplasando asi al siguiente y descuadrando la tabla del .txt ... necesito solucionar especificamente este problema con el .txt

Mi pregunta es si hay algun comando que diga que si se hay tantos caracteres haga un salto de linea, de manera que, no invada al campo siguiente o algo asi... ¿Que solucion me recomiendan? (Como pueden ver, esta en Python 2)
#5
Buenas, disculpen las molestias, alguien me podria indicar/ayudar sobre este tema de imprimir en pantalla? Si vemos el primer codigo que esta aqui abajo, vemos que si lo ejecutamos, este se desconfigura del espacio en el que se deberia imprimir

Código (python) [Seleccionar]

i = 1
print "i\ti**2\ti**3\ti**5\ti**10\ti**20"
while i <= 10:
    print i, '\t', i**2, '\t', i**3, '\t', i**5, '\t', i**10, '\t', i**20
    i += 1




Pero si corremos este segundo codigo, podemos apreciar que ese espacio ya esta corregido... Mi duda aqui es, que no entiendo muy bien como opera este segundo...

Código (python) [Seleccionar]

i = 1
print "%-4s%-5s%-6s%-8s%-13s%-15s" % \
      ('i', 'i**2', 'i**3', 'i**5', 'i**10', 'i**20')
while i <= 10:
    print "%-4d%-5d%-6d%-8d%-13d%-15d" % (i, i**2, i**3, i**5, i**10, i**20)
    i += 1


Por ejemplo, alguien me podria indicar/pasar algun documento, sobre como funciona el " % " No entiendo muy bien para que sirve... tampoco entendi muy bien para que sirve el " %-4d%" ese %, ese -4 y la d y otra vez el %

Basicamente el codigo es eso... ¿Alguien podria "iluminarme" por favor?
#6
Scripting / Re: Duda linea de python
1 Marzo 2017, 17:44 PM
Disculpen mi pregunta, Pero entonces, el comando que me mandaron (Las 2 partes) son para linux?Dios xD, ¿Que utilidad o como lo deberia aplicar en windows? (Ya tengo python instalado, y por lo que entendi, los comandos sirven es en el equivalente a cmd pero de linux :s
#7
Scripting / Duda linea de python
1 Marzo 2017, 05:34 AM
Alguien me podria explicar, para que sirve cada parte de esa linea de codigo? Me parece que es de python 2.7, y se supone que si colocas esa linea de codigo, podras escribir con acentos (continuación) y no (continuacion) es decir, si coloco el acento, sin el codigo se supone que me da error, pero ¿Me podrian explicar mas detalladamente esa linea de codigo?
Código (python) [Seleccionar]

#! /usr/bin/env python # -*- coding: utf-8 -*-
#8
Programación General / (Duda) Bots
6 Enero 2017, 18:53 PM
Buenas...Como el titulo lo dice, "Bots" vengo a preguntar acerca de estos...

Por ejemplo, que lenguaje necesitaria saber, para hacer un bot por ejemplo en WoW o cualquier otro juego... (Ya hay uno llamado lazybot, que es codigo abierto, pero hay algunas secciones del codigo que no se pueden ver, y no se, si esta todo hecho con c#, o tambien usan algun otro lenguaje)

Y ¿Cuanto tiempo tardaria 1 persona en hacer ese bot?

:D  :D  :D  :D

Edit: Ah, y pues lo de si, el lazybot, ¿solo esta escrito en c# o si tambien esta en otro lenguaje?, Y ¿Si es necesario hacerlo en varios lenguajes, o puede hacerse en uno solo?
#9
Muchas gracias no sabia, gracias por la ayuda

Estoy intentando las soluciones que dejaste

efectivamente tenia bien escrito el 1.20 en el código pero a la hora de ejecutarlo tenia que colocar 1,20 como todos lo hacen, muchas gracias por la ayuda  :D :D :D

#10
Buenas estoy empezando a aprender c# estaba con un projecto en el visual estudio de "Console aplication"

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Pag_9_repasando
{
   class Program
   {
       static void Main(string[] args)
       {
           int n, x, sirven;
           float longitud;
           string linea;
           x = 1;
           sirven = 0;
           Console.Write("Ingrese numero de piezas: ");
           linea = Console.ReadLine();
           n = int.Parse(linea);

           while (x <= n)
           {
               Console.WriteLine("Ingrese longitud de la pieza");
               linea = Console.ReadLine();
               longitud = float.Parse(linea);
               if (longitud >= 1.20 && longitud <= 1.30)
               {
                   sirven = sirven + 1;
               }
               x = x + 1;
           }
           Console.Write("El numero total de piezas aptas es de: ");
           Console.WriteLine(sirven);
           Console.ReadKey();
       }
   }
}


Necesito ayuda, el programa no me lee el 1.20 cuando lo ejecuto, si en vez de 1.20 y 1.30 colocara valores enteros como 1 y 2 entonces el programa si funciona pero, es como si no me leyera los numeros decimales, me podrian ayudar?

gracias