Gracias por el algoritmo hermano, así mismo lo voy a intentar, saludos!
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ú
from audio import *
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog,QFileDialog, QMessageBox,QTableWidget,QTableWidgetItem
from PyQt5.QtCore import QThread, pyqtSignal
import getpass, glob, pafy
class DownloadAudio(QThread):
signal_recvd = pyqtSignal(int)
signal_total = pyqtSignal(int)
def download(self, ruta, url):
ruta = ruta
url = url
video = pafy.new(url)
title = video.title
duration = video.duration
dwn = video.getbestaudio()
dwn.download(filepath=ruta, callback=self.mycb, meta=True)
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)
self.signal_total.emit(total)
self.signal_recvd.emit(recvd)
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
self.setupUi(self)
self.setFixedSize(920,700)
self.txt_ruta.setText("/home/"+getpass.getuser()+"/Música")
self.tableWidget.setColumnWidth(0, 350)
self.tableWidget.setColumnWidth(1, 350)
self.btn_descargar.clicked.connect(self.download_audio)
self.btn_destino.clicked.connect(self.ruta)
def download_audio(self):
ruta = self.txt_ruta.text()
self.progressBar.setValue(0)
url = self.txt_url.text()
video = pafy.new(url)
title = video.title
duration = video.duration
self.tableWidget.setItem(0,0, QTableWidgetItem(title))
self.tableWidget.setItem(0,1, QTableWidgetItem(duration))
self.calc = DownloadAudio()
self.calc.download(ruta,url)
self.calc.signal_recvd.connect(self.progress)
def progress(self,value):
self.progressBar.setValue(value)
def ruta(self):
path = os.path.normpath(QFileDialog.getExistingDirectory(self))
self.txt_ruta.setText(path)
if __name__ == '__main__':
app = QtWidgets.QApplication([])
window = MainWindow()
window.show()
app.exec_()
def es_palindromo(msj):
txt=msj.replace(' ','').lower() #Reemplazo los espacios en blanco por nada y convierto a minuscula
if(txt==txt[::-1]):
print(txt," ","es un palindromo"
Cita de: crack81 en 29 Enero 2018, 18:00 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[/code#declare variable
counter = 0
data = "Hello World"
for letter in data:
if letter.isalpha(): counter += 1
print "The string has {0} letters".format(counter)
def contarLetras():
titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
print (titulo.center(50,"*"))#centro el titulo
frc=(input("Ingresa una frase "))#se solicita la frase
contsig=0
for i in frc:
if(i.isalpha()):
contsig+=1
print("Número de letras:",contsig)
Cita de: dariodr01 en 28 Enero 2018, 15:55 PM
Esto es lo que quieres.
Salu2def cuentaCaracteres(frase):
c = 0
for i in range(len(frase)):
if frase[i].isalpha():
c += 1
return c
#Main
cadena = input('Ingrese una frase:')
print('La frase "%s" tiene %d caracteres' %(cadena,cuentaCaracteres(cadena)))
titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
print (titulo.center(50,"*"))#centro el titulo
frc=(input("Ingresa una frase "))#se solicita la frase
let=len(frc)#saco la logitud original
contsig=0 #contador de letras
for i in range(0,let):
if(frc[i].isalpha()):
contsig+=1
print("Numero de letras:",contsig)
Cita de: rub'n en 28 Enero 2018, 05:58 AM
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
import re
titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
print (titulo.center(50,"*"))#centro el titulo
frc=(input("Ingresa una frase "))#se solicita la frase
let=len(frc)#saco la logitud original
contnum=0 #contador para los numeros
contpuc=0 #contador para los signos
suma=0 #variable para sumar los contadores
for i in range(0,let):
if(frc[i].isdigit()): #cuento los numeros
contnum+=1
elif(re.search("[^a-zA-Z0-9_]",frc[i])): #cuento los espacios en blanco y cualquier signo
contpuc+=1
suma=contnum+contpuc #sumo los contadores
rpta=let-suma #al final solo lo resto a la longitud original
print("La frase tiene palabras",rpta)
titulo= "Contar las letras de cualquier frase".capitalize() #Variable para el titulo
print (titulo.center(50,"*"))#centro el titulo
frc=(input("Ingresa una frase "))#se solicita la frase
let=len(frc)#saco la logitud original
cont=0 #contador para los espacios
contnum=0 #contador para los numeros
contpuc=0 #contador para los signos
suma=0 #variable para sumar los contadores
for i in range(0,let):
if (frc[i].isspace()):
cont+=1
elif(frc[i].isdigit()):
contnum+=1
elif(frc[i] in "?¡¿*,.-_'"): #agrego los signos a discriminar (no se si hay un método)
contpuc+=1
suma=cont+contnum+contpuc #sumo los contadores
rpta=let-suma #al final solo lo resto a la longitud original
print("La frase tiene palabras",rpta)