BotBeta
Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario popular!
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Suscripción a IA
Si quieres hacer una antena casera para tu PC, podrías considerar hacer una Antena Cantenna (de lata), similar al anterior método propuesto para el router, pero ahora conectado a un adaptador WiFi de tu PC que tenga una antena desmontable.pero para pc como haria la antena de minimo 100 m de alcance??
No funciona, El codigo asi si funciona, ¿esta bien o se hace de otra forma?La construcciónwhile True:
generalmente se utiliza para crear un bucle infinito, que solo se interrumpe si se encuentra una instrucción específica de 'break'. Tu código, tal como está, entra en un bucle infinito siTiktok_opcion == '1'
. Para cambiarlo a un buclewhile True:
pero que todavía dependa del valor deTiktok_opcion
, debes utilizar unif
y unbreak
en el interior de tu bucle. Aquí te dejo un ejemplo:
Este código seguirá ejecutándose indefinidamente hasta quePython:while True: if Tiktok_opcion != '1': break # Aquí va el resto de tu código
Tiktok_opcion
deje de ser igual a '1'. En ese punto, se cumplirá la condición delif
, se ejecutará elbreak
y se interrumpirá el bucle.
while Tiktok_opcion == '1':
while True:
copied_url = clipboard.paste(). …
…
if not get_yes_or_no_input(" ¿Quieres continuar?"):
break
print(" [¿] Carpeta de descarga [?]")
Tu código parece estar funcionando correctamente según tu descripción. El bucle internoNo funciona, El codigo asi si funciona, ¿esta bien o se hace de otra forma?
Python:while Tiktok_opcion == '1': while True: copied_url = clipboard.paste(). … … if not get_yes_or_no_input(" ¿Quieres continuar?"): break print(" [¿] Carpeta de descarga [?]")
si le doy en continuar "s" se regresa a copied_url
si le doy en "n" se pasa al bloque de abajo
while True:
se seguirá ejecutando mientras el usuario quiera continuar e ingrese "s". Cuando el usuario ingrese "n", el bucle interno se romperá con break
, regresando a la condición del bucle externo while Tiktok_opcion == '1':[ICODE]. Si [ICODE]Tiktok_opcion[ICODE] sigue siendo '1', el bucle externo continuará, de lo contrario, el programa imprimirá " [¿] Carpeta de descarga [?]" y continuará a la próxima sección de código.
Si este flujo coincide con lo que esperas que haga tu programa, entonces se podría decir que está bien. Sin embargo, si deseas cambiar el diseño de tus bucles, es conveniente tener en cuenta el flujo del programa y cómo cada decisión del usuario afecta la lógica del bucle.
<!DOCTYPE html>
<html>
<body>
<textarea id="myText" rows="4" cols="50"></textarea><br>
<button onclick="paste()">Pegar</button>
<button onclick="addSpaces()">Agregar Espacios</button>
<button onclick="removeSpaces()">Quitar Espacios</button>
<button onclick="clearText()">Borrar</button>
<script>
async function paste() {
let text = await navigator.clipboard.readText();
document.getElementById("myText").value = text;
}
function addSpaces() {
let textArea = document.getElementById("myText");
textArea.value = textArea.value.split('\n').map(line => ' ' + line).join('\n');
}
function removeSpaces() {
let textArea = document.getElementById("myText");
textArea.value = textArea.value.split('\n').map(line => line.startsWith(' ') ? line.slice(4) : line).join('\n');
}
function clearText() {
document.getElementById("myText").value = "";
}
</script>
</body>
</html>
La función de pegar desde el portapapeles depende del navegador y sus permisos. Puede que no funcione en todos los navegadores debido a las restricciones de seguridad.¿Cómo lo modifico el siguiente codigo html
no pega lo copiado del portapapeles
y
como le agrego otro boton horizontal de "copiar todo" del <textarea>
?
HTML:<!DOCTYPE html> <html> <body> <textarea id="myText" rows="4" cols="50"></textarea><br> <button onclick="paste()">Pegar</button> <button onclick="addSpaces()">Agregar Espacios</button> <button onclick="removeSpaces()">Quitar Espacios</button> <button onclick="clearText()">Borrar</button> <script> async function paste() { let text = await navigator.clipboard.readText(); document.getElementById("myText").value = text; } function addSpaces() { let textArea = document.getElementById("myText"); textArea.value = textArea.value.split('\n').map(line => ' ' + line).join('\n'); } function removeSpaces() { let textArea = document.getElementById("myText"); textArea.value = textArea.value.split('\n').map(line => line.startsWith(' ') ? line.slice(4) : line).join('\n'); } function clearText() { document.getElementById("myText").value = ""; } </script> </body> </html>
<!DOCTYPE html>
<html>
<body>
<textarea id="myText" rows="4" cols="50"></textarea><br>
<button onclick="paste()">Pegar</button>
<button onclick="copyAll()">Copiar Todo</button>
<button onclick="addSpaces()">Agregar Espacios</button>
<button onclick="removeSpaces()">Quitar Espacios</button>
<button onclick="clearText()">Borrar</button>
<script>
async function paste() {
let text = await navigator.clipboard.readText();
document.getElementById("myText").value = text;
}
function copyAll() {
let textArea = document.getElementById("myText");
navigator.clipboard.writeText(textArea.value);
}
function addSpaces() {
let textArea = document.getElementById("myText");
textArea.value = textArea.value.split('\n').map(line => ' ' + line).join('\n');
}
function removeSpaces() {
let textArea = document.getElementById("myText");
textArea.value = textArea.value.split('\n').map(line => line.startsWith(' ') ? line.slice(4) : line).join('\n');
}
function clearText() {
document.getElementById("myText").value = "";
}
</script>
</body>
</html>
No pega 🥺La función de pegar desde el portapapeles depende del navegador y sus permisos. Puede que no funcione en todos los navegadores debido a las restricciones de seguridad.
Sobre el segundo punto, puedes agregar un botón "Copiar Todo" con un evento onclick para copiar todo el texto dentro del textarea. El código modificado quedaría así:
HTML:<!DOCTYPE html> <html> <body> <textarea id="myText" rows="4" cols="50"></textarea><br> <button onclick="paste()">Pegar</button> <button onclick="copyAll()">Copiar Todo</button> <button onclick="addSpaces()">Agregar Espacios</button> <button onclick="removeSpaces()">Quitar Espacios</button> <button onclick="clearText()">Borrar</button> <script> async function paste() { let text = await navigator.clipboard.readText(); document.getElementById("myText").value = text; } function copyAll() { let textArea = document.getElementById("myText"); navigator.clipboard.writeText(textArea.value); } function addSpaces() { let textArea = document.getElementById("myText"); textArea.value = textArea.value.split('\n').map(line => ' ' + line).join('\n'); } function removeSpaces() { let textArea = document.getElementById("myText"); textArea.value = textArea.value.split('\n').map(line => line.startsWith(' ') ? line.slice(4) : line).join('\n'); } function clearText() { document.getElementById("myText").value = ""; } </script> </body> </html>
Recuerda que, al igual que la función de pegar, la función de copiar contenido al portapapeles puede no funcionar en todos los navegadores debido a restricciones de seguridad.
El script parece correcto y debería funcionar en la mayoría de los navegadores modernos, pero algunos navegadores pueden tener restricciones de seguridad que limitan el acceso al portapapeles. Por ejemplo, algunas versiones de Firefox requieren que el usuario configure manualmente los permisos del portapapeles.No pega 🥺
pero si copia 🥳
¿no es el script?
async function paste() {
try {
let text = await navigator.clipboard.readText();
document.getElementById("myText").value = text;
} catch (err) {
console.error('Error al pegar el texto: ', err);
}
}
Puedes buscar 5 nichos/subnichos rentables 2023 para crear un sitio web de artículos generados por IA y poder hacer que me acepten en adsense.El script parece correcto y debería funcionar en la mayoría de los navegadores modernos, pero algunos navegadores pueden tener restricciones de seguridad que limitan el acceso al portapapeles. Por ejemplo, algunas versiones de Firefox requieren que el usuario configure manualmente los permisos del portapapeles.
Además, recuerda que las operaciones de portapapeles pueden requerir que la página se ejecute en un contexto seguro (HTTPS) y que el usuario interactúe con la página antes de que se pueda acceder al portapapeles. Esto significa que para probar el código, puede que necesites subir tu archivo HTML a un servidor seguro y abrirlo desde allí, en lugar de abrir directamente el archivo HTML en tu navegador.
Si incluso después de seguir estos consejos sigues teniendo problemas, podrías intentar agregar un controlador de errores a la función 'paste' para que puedas ver más detalles sobre cualquier problema que pueda surgir. Algo como esto:
Revisa la consola del navegador para ver si aparece algún mensaje de error cuando intentas pegar el texto.JavaScript:async function paste() { try { let text = await navigator.clipboard.readText(); document.getElementById("myText").value = text; } catch (err) { console.error('Error al pegar el texto: ', err); } }
Error al pegar el texto: TypeError: navigator.clipboard.readText is not a functionEl script parece correcto y debería funcionar en la mayoría de los navegadores modernos, pero algunos navegadores pueden tener restricciones de seguridad que limitan el acceso al portapapeles. Por ejemplo, algunas versiones de Firefox requieren que el usuario configure manualmente los permisos del portapapeles.
Además, recuerda que las operaciones de portapapeles pueden requerir que la página se ejecute en un contexto seguro (HTTPS) y que el usuario interactúe con la página antes de que se pueda acceder al portapapeles. Esto significa que para probar el código, puede que necesites subir tu archivo HTML a un servidor seguro y abrirlo desde allí, en lugar de abrir directamente el archivo HTML en tu navegador.
Si incluso después de seguir estos consejos sigues teniendo problemas, podrías intentar agregar un controlador de errores a la función 'paste' para que puedas ver más detalles sobre cualquier problema que pueda surgir. Algo como esto:
Revisa la consola del navegador para ver si aparece algún mensaje de error cuando intentas pegar el texto.JavaScript:async function paste() { try { let text = await navigator.clipboard.readText(); document.getElementById("myText").value = text; } catch (err) { console.error('Error al pegar el texto: ', err); } }
Lamentablemente, esto sugiere que estás utilizando un navegador que no soporta la API de Clipboard (Error al pegar el texto: TypeError: navigator.clipboard.readText is not a function
navigator.clipboard.readText
). navigator.clipboard.readText
sin problemas.Claro, a continuación, te doy 5 ideas de nichos rentables que están creciendo y que podrían ser de interés:Puedes buscar 5 nichos/subnichos rentables 2023 para crear un sitio web de artículos generados por IA y poder hacer que me acepten en adsense.
while True:
if Menu_Opcion=="1":
…
while True:
print("Tiktok")
…
while Tiktok_opcion == '1':
…
while True:
copied_url = clipboard.paste()
…
print(" [¿] Carpeta de descarga [?]")
…
while True:
continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower()
if continuar == "s":
# Continuar descargando otro video
break
elif continuar == "n":
# Salir del programa
sys.exit()
else:
print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n")
…
if Tiktok_opcion=="r":
break
elif Tiktok_opcion=="s":
sys.exit()
else:
print(" Opción no válida, intenta de nuevo.")
elif Menu_Opcion=="2":
En el caso de 'elif continuar == "n":', simplemente puedes reemplazar 'sys.exit()' por 'break'. Esto romperá el bucle interno en lugar de salir de todo el programa, regresando a 'print("Tiktok")'. Aquí te dejo el código modificado:¿como modifico el siguiente codigo python en elif continuar == "n": para que en lugar de
salir se regrese a print("Tiktok")
Python:while True: if Menu_Opcion=="1": … while True: print("Tiktok") … while Tiktok_opcion == '1': … while True: copied_url = clipboard.paste() … print(" [¿] Carpeta de descarga [?]") … while True: continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower() if continuar == "s": # Continuar descargando otro video break elif continuar == "n": # Salir del programa sys.exit() else: print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n") … if Tiktok_opcion=="r": break elif Tiktok_opcion=="s": sys.exit() else: print(" Opción no válida, intenta de nuevo.") elif Menu_Opcion=="2":
while True:
if Menu_Opcion=="1":
…
while True:
print("Tiktok")
…
while Tiktok_opcion == '1':
…
while True:
copied_url = clipboard.paste()
…
print(" [¿] Carpeta de descarga [?]")
…
while True:
continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower()
if continuar == "s":
# Continuar descargando otro video
break
elif continuar == "n":
# Ir a la parte de 'print("Tiktok")'
break
else:
print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n")
…
if Tiktok_opcion=="r":
break
elif Tiktok_opcion=="s":
sys.exit()
else:
print(" Opción no válida, intenta de nuevo.")
elif Menu_Opcion=="2":
No, es como si le diera "s" se regresa a copied_url = clipboard.paste()En el caso de 'elif continuar == "n":', simplemente puedes reemplazar 'sys.exit()' por 'break'. Esto romperá el bucle interno en lugar de salir de todo el programa, regresando a 'print("Tiktok")'. Aquí te dejo el código modificado:
Este código simplemente regresará a 'print("Tiktok")' si el usuario introduce "n" cuando se le pregunte "¿Deseas descargar otro video?". Por lo que el programa no saldrá por completo.Python:while True: if Menu_Opcion=="1": … while True: print("Tiktok") … while Tiktok_opcion == '1': … while True: copied_url = clipboard.paste() … print(" [¿] Carpeta de descarga [?]") … while True: continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower() if continuar == "s": # Continuar descargando otro video break elif continuar == "n": # Ir a la parte de 'print("Tiktok")' break else: print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n") … if Tiktok_opcion=="r": break elif Tiktok_opcion=="s": sys.exit() else: print(" Opción no válida, intenta de nuevo.") elif Menu_Opcion=="2":
[-] Copiando URL ... [ok] ... :
Ah, entiendo. Si quieres regresar a la parte de 'copied_url = clipboard.paste()' cuando el usuario introduce 'n', entonces necesitas utilizar dos bucles. Puedes usar un bucle externo envolviendo el código desde 'copied_url' hasta 'continuar'. Aquí está el código modificado:No, es como si le diera "s" se regresa a copied_url = clipboard.paste()
¿Deseas descargar otro video? (s/n):
while True:
if Menu_Opcion=="1":
…
while True:
print("Tiktok")
…
while Tiktok_opcion == '1':
…
# Bucle externo agregado aquí
while True:
copied_url = clipboard.paste()
…
print(" [¿] Carpeta de descarga [?]")
…
while True:
continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower()
if continuar == "s":
# Ir a 'copied_url = clipboard.paste()'
break
elif continuar == "n":
# Salir del bucle interno pero continuar en el bucle externo
break
else:
print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n")
# si 'continuar == "n"', continuar en el bucle externo
if continuar == "n":
continue
# si 'continuar == "s"', romper el bucle externo
break
…
if Tiktok_opcion=="r":
break
elif Tiktok_opcion=="s":
sys.exit()
else:
print(" Opción no válida, intenta de nuevo.")
elif Menu_Opcion=="2":
No, si le doy "s" se regresa a copiar urls en copied_url = clipboard.paste()Ah, entiendo. Si quieres regresar a la parte de 'copied_url = clipboard.paste()' cuando el usuario introduce 'n', entonces necesitas utilizar dos bucles. Puedes usar un bucle externo envolviendo el código desde 'copied_url' hasta 'continuar'. Aquí está el código modificado:
Python:while True: if Menu_Opcion=="1": … while True: print("Tiktok") … while Tiktok_opcion == '1': … # Bucle externo agregado aquí while True: copied_url = clipboard.paste() … print(" [¿] Carpeta de descarga [?]") … while True: continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower() if continuar == "s": # Ir a 'copied_url = clipboard.paste()' break elif continuar == "n": # Salir del bucle interno pero continuar en el bucle externo break else: print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n") # si 'continuar == "n"', continuar en el bucle externo if continuar == "n": continue # si 'continuar == "s"', romper el bucle externo break … if Tiktok_opcion=="r": break elif Tiktok_opcion=="s": sys.exit() else: print(" Opción no válida, intenta de nuevo.") elif Menu_Opcion=="2":
En este código, cuando el usuario introduce "n", el código se rompe fuera del bucle interno pero continúa en el bucle externo, volviendo a 'copied_url = clipboard.paste()'. Si el usuario introduce "s", se rompe el bucle externo.
Lamento la confusión. Si lo que deseas es regresar aNo, si le doy "s" se regresa a copiar urls en copied_url = clipboard.paste()
lo que quiero es que en elif continuar == "n": se regrese hasta print("Tiktok"), no a copiar
con break no funciona me regresa a clipboard.paste()
print("Tiktok")
cuando continuar == "n"
entonces necesitarás reorganizar la estructura de tus bucles. Aquí te dejo el código con la modificación correspondiente:while True:
if Menu_Opcion=="1":
…
while True:
print("Tiktok")
while True:
# En este punto, si continuar == "n", se romperá este bucle y retornará a print("Tiktok")
Tiktok_opcion = input("...") # (Tu código para solicitar la opción Tiktok)
if Tiktok_opcion == '1':
…
while True:
copied_url = clipboard.paste()
…
print(" [¿] Carpeta de descarga [?]")
…
while True:
continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower()
if continuar == "s":
# Continuar descargando otro video
break
elif continuar == "n":
# Regresar hasta print("Tiktok")
break
else:
print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n")
if continuar == "n":
break
...
…
if Tiktok_opcion=="r":
break
elif Tiktok_opcion=="s":
sys.exit()
else:
print(" Opción no válida, intenta de nuevo.")
elif Menu_Opcion=="2":
me dice esto y ahi se quedaLamento la confusión. Si lo que deseas es regresar aprint("Tiktok")
cuandocontinuar == "n"
entonces necesitarás reorganizar la estructura de tus bucles. Aquí te dejo el código con la modificación correspondiente:
Python:while True: if Menu_Opcion=="1": … while True: print("Tiktok") while True: # En este punto, si continuar == "n", se romperá este bucle y retornará a print("Tiktok") Tiktok_opcion = input("...") # (Tu código para solicitar la opción Tiktok) if Tiktok_opcion == '1': … while True: copied_url = clipboard.paste() … print(" [¿] Carpeta de descarga [?]") … while True: continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower() if continuar == "s": # Continuar descargando otro video break elif continuar == "n": # Regresar hasta print("Tiktok") break else: print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n") if continuar == "n": break ... … if Tiktok_opcion=="r": break elif Tiktok_opcion=="s": sys.exit() else: print(" Opción no válida, intenta de nuevo.") elif Menu_Opcion=="2":
Espero que este código te ayude a solucionar tu problema. Si tienes alguna otra pregunta, no dudes en hacerla.
Lamento el malentendido. Parece que la lógica de validación de la opción del usuario no está ubicada en el lugar correcto. A continuación te muestro cómo deberías modificar tu código:me dice esto y ahi se queda
¿Deseas descargar otro video? (s/n):
n
Opción no válida, intenta de nuevo.
n
Opción no válida, intenta de nuevo.
while True:
if Menu_Opcion=="1":
...
while True:
print("Tiktok")
while True:
Tiktok_opcion = input("...") # (Tu código para solicitar la opción Tiktok)
if Tiktok_opcion == '1':
while True:
...
copied_url = clipboard.paste()
...
print(" [¿] Carpeta de descarga [?]")
while True:
continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower()
if continuar == "s":
break
elif continuar == "n":
break
else:
print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n")
if continuar == "s":
continue
elif continuar == "n":
break
if Tiktok_opcion=="r":
break
elif Tiktok_opcion=="s":
sys.exit()
else:
print(" Opción no válida, intenta de nuevo.")
elif Menu_Opcion=="2":
print("Tiktok")
.quedo igual, no se regresa en seleccionar "n"Lamento el malentendido. Parece que la lógica de validación de la opción del usuario no está ubicada en el lugar correcto. A continuación te muestro cómo deberías modificar tu código:
Con estos cambios, si el usuario ingresa 'n' cuando se le pregunta "¿Deseas descargar otro video?", el programa romperá el bucle interno y volverá aPython:while True: if Menu_Opcion=="1": ... while True: print("Tiktok") while True: Tiktok_opcion = input("...") # (Tu código para solicitar la opción Tiktok) if Tiktok_opcion == '1': while True: ... copied_url = clipboard.paste() ... print(" [¿] Carpeta de descarga [?]") while True: continuar = input("\n ¿Deseas descargar otro video? (s/n): \n\n> ").lower() if continuar == "s": break elif continuar == "n": break else: print("\n Respuesta no válida. Por favor, ingresa 's' para sí o 'n' para no.\n") if continuar == "s": continue elif continuar == "n": break if Tiktok_opcion=="r": break elif Tiktok_opcion=="s": sys.exit() else: print(" Opción no válida, intenta de nuevo.") elif Menu_Opcion=="2":
print("Tiktok")
.
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?