elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Scripting / Re: ¿Cómo conectar una barra de progreso utilizando QThread en PyQT5? [Python 3x] en: 16 Abril 2019, 16:12 pm
Gracias por el algoritmo hermano, así mismo lo voy a intentar, saludos!
2  Programación / Scripting / ¿Cómo conectar una barra de progreso utilizando QThread en PyQT5? [Python 3x] en: 15 Abril 2019, 17:03 pm
He estado intentado pasar el proceso de descarga para los audios de Youtube en un hilo diferente utilizando la librería pafy. Con esta librería se puede utilizar un método llamado "mycb" donde es posible obtener los kbs descargados y los totales para establecer una barra de progreso. Aquí les muestro lo que intento hacer mediante la clase QThread

Código
  1.  
  2. from audio import *
  3. from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog,QFileDialog, QMessageBox,QTableWidget,QTableWidgetItem
  4. from PyQt5.QtCore import QThread, pyqtSignal
  5. import getpass, glob, pafy
  6.  
  7. class DownloadAudio(QThread):
  8.    signal_recvd = pyqtSignal(int)
  9.    signal_total = pyqtSignal(int)
  10.    def download(self, ruta, url):
  11.        ruta = ruta
  12.        url = url
  13.        video = pafy.new(url)
  14.        title = video.title
  15.        duration = video.duration
  16.        dwn = video.getbestaudio()
  17.        dwn.download(filepath=ruta, callback=self.mycb, meta=True)
  18.  
  19.    def mycb(self,total, recvd, ratio, rate,eta): #Metodo de la libreria Pafy para saber los kbs recibidos y los totales (con este me apoyo para establecer la barra de progreso)
  20.        self.signal_total.emit(total)
  21.        self.signal_recvd.emit(recvd)
  22.  
  23.  
  24. class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
  25.    def __init__(self, *args, **kwargs):
  26.        QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
  27.        self.setupUi(self)
  28.        self.setFixedSize(920,700)
  29.        self.txt_ruta.setText("/home/"+getpass.getuser()+"/Música")
  30.        self.tableWidget.setColumnWidth(0, 350)
  31.        self.tableWidget.setColumnWidth(1, 350)
  32.        self.btn_descargar.clicked.connect(self.download_audio)
  33.        self.btn_destino.clicked.connect(self.ruta)
  34.    def download_audio(self):
  35.        ruta = self.txt_ruta.text()
  36.        self.progressBar.setValue(0)
  37.        url = self.txt_url.text()
  38.        video = pafy.new(url)
  39.        title = video.title
  40.        duration = video.duration
  41.        self.tableWidget.setItem(0,0, QTableWidgetItem(title))
  42.        self.tableWidget.setItem(0,1, QTableWidgetItem(duration))
  43.        self.calc = DownloadAudio()
  44.        self.calc.download(ruta,url)
  45.        self.calc.signal_recvd.connect(self.progress)
  46.    def progress(self,value):
  47.        self.progressBar.setValue(value)
  48.  
  49.    def ruta(self):
  50.        path = os.path.normpath(QFileDialog.getExistingDirectory(self))
  51.        self.txt_ruta.setText(path)                
  52. if __name__ == '__main__':
  53.    app = QtWidgets.QApplication([])
  54.    window = MainWindow()
  55.    window.show()
  56.    app.exec_()
  57.  
  58.  


Con este código el proceso funciona aunque no correctamente ni mucho menos puedo establecer la barra de progreso.
3  Programación / Scripting / [Python 3x] Saber si una frase o palabra es un palíndromo en: 3 Febrero 2018, 03:56 am
Hola, he estado trabajando en este ejercicio para encontrar si una frase  o palabra es un palíndromo. Esto es mi resultado.. Comenta cuál sería el tuyo para tener un resultado más concreto

Saludos ;-) ;-)
Código
  1. def es_palindromo(msj):
  2.    txt=msj.replace(' ','').lower() #Reemplazo  los espacios en blanco por nada  y convierto a minuscula
  3.    if(txt==txt[::-1]):
  4.        print(txt," ","es un palindromo"
  5.  
4  Programación / Scripting / Re: [Python 3x] Contar las letras de cualquier frase en: 29 Enero 2018, 18:32 pm
Hola en lugar de utilizar la funcion len para calcular el tamano de la cadena simplemente puedes iterar naturalmente sobre la cadena  usando el for y python se encarga de lo demas

Código
  1. [/code#declare variable
  2. counter = 0
  3. data = "Hello World"
  4.  
  5.  
  6. for letter in data:
  7. if letter.isalpha(): counter += 1
  8.  
  9. print "The string has {0} letters".format(counter)

Gracias incluso se hace mas a meno el codigo:
Código
  1. def contarLetras():
  2.    titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
  3.    print (titulo.center(50,"*"))#centro el titulo
  4.    frc=(input("Ingresa una frase "))#se solicita la frase
  5.    contsig=0
  6.    for i in frc:
  7.         if(i.isalpha()):
  8.            contsig+=1
  9.    print("Número de letras:",contsig)
  10.  
5  Programación / Scripting / Re: [Python 3x] Contar las letras de cualquier frase en: 29 Enero 2018, 17:04 pm
Esto es lo que quieres.
Salu2

Código
  1. def cuentaCaracteres(frase):
  2.  c = 0
  3.  
  4.  for i in range(len(frase)):
  5.    if frase[i].isalpha():
  6.      c += 1
  7.  
  8.  return c
  9.  
  10. #Main
  11. cadena = input('Ingrese una frase:')
  12. print('La frase "%s" tiene %d caracteres' %(cadena,cuentaCaracteres(cadena)))
  13.  

!Gracias!
Creo que de todas las formas que he hecho este ejercicio esta es la más sencilla saludos!
Código
  1. titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
  2. print (titulo.center(50,"*"))#centro el titulo
  3. frc=(input("Ingresa una frase "))#se solicita la frase
  4. let=len(frc)#saco la logitud original
  5. contsig=0 #contador de letras
  6. for i in range(0,let):
  7.  
  8.     if(frc[i].isalpha()):
  9.        contsig+=1
  10. print("Numero de letras:",contsig)
  11.  
  12.  
6  Programación / Scripting / Re: [Python 3x] Contar las letras de cualquier frase en: 29 Enero 2018, 16:59 pm
Creo que tienes detalles en la linea 12 pásate por acá https://regex101.com/r/rR2hZ1/7  osea digo, xq en un principio tu objetivo era contar letras de cualquier frase

Curiosamente si funciona bien aunque si quito la instrucción isdigit  me cuenta tambien los números a la hora de imprimirlos por eso la deje... saludos
7  Programación / Scripting / Re: [Python 3x] Contar las letras de cualquier frase en: 28 Enero 2018, 05:48 am
¡Gracias! sigo leyendo un poco sobre las expresiones regulares
Código
  1. import re
  2. titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
  3. print (titulo.center(50,"*"))#centro el titulo
  4. frc=(input("Ingresa una frase "))#se solicita la frase
  5. let=len(frc)#saco la logitud original
  6. contnum=0 #contador para los numeros
  7. contpuc=0 #contador para los signos
  8. suma=0 #variable para sumar los contadores
  9. for i in range(0,let):
  10.    if(frc[i].isdigit()): #cuento los numeros
  11.        contnum+=1
  12.    elif(re.search("[^a-zA-Z0-9_]",frc[i])): #cuento los espacios en blanco y cualquier signo
  13.        contpuc+=1
  14.    suma=contnum+contpuc #sumo los contadores
  15. rpta=let-suma #al final solo lo resto a la longitud original
  16. print("La frase tiene palabras",rpta)
  17.  
8  Programación / Scripting / [Python 3x] Contar las letras de cualquier frase en: 28 Enero 2018, 03:54 am
Hola, comunidad soy relativamente nuevo en python y me propuse contar las letras de cualquer frase esto es lo que tengo, como soy nuevo no se que más agregarle o que modificarle para que el código bien. Tampoco encuentro un método que me ayude a excluir los signos ¡Saludos! ;D ;D

Código
  1. titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
  2. print (titulo.center(50,"*"))#centro el titulo
  3. frc=(input("Ingresa una frase "))#se solicita la frase
  4. let=len(frc)#saco la logitud original
  5. cont=0 #contador para los espacios
  6. contnum=0 #contador para los numeros
  7. contpuc=0 #contador para los signos
  8. suma=0 #variable para sumar los contadores
  9. for i in range(0,let):
  10.    if (frc[i].isspace()):
  11.        cont+=1
  12.    elif(frc[i].isdigit()):
  13.        contnum+=1
  14.    elif(frc[i] in "?¡¿*,.-_'"): #agrego los signos a discriminar (no se si hay un método)
  15.        contpuc+=1
  16.    suma=cont+contnum+contpuc #sumo los contadores
  17. rpta=let-suma #al final solo lo resto a la longitud original
  18. print("La frase tiene palabras",rpta)
  19.  
9  Programación / Programación C/C++ / Re: Contar letras en cualquier oración en: 7 Enero 2018, 17:44 pm
Estuve leyendo algo sobre locale.h pero no entiendo muy bien.  Aquí el linux sigue contado el carácter "ñ" y los acentos como 2 carácteres. ¿qué podría estar pasando?
10  Programación / Programación C/C++ / Re: Contar letras en cualquier oración en: 5 Enero 2018, 04:19 am
de hecho  el carácter ñ lo toma como si fueran 2.  :(
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines