Tema para preguntas random a Chatgpt 🤖

  • Autor Autor Carlos Arreola
  • Fecha de inicio Fecha de inicio
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8750343" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750343" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750343">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Para hacer esto en Python, puedes utilizar el módulo <code class="bbCodeInline">os</code> para trabajar con el sistema operativo, y luego solo necesitas abrir (o crear, si no existe) el archivo en la ubicación especificada y escribir el contenido HTML en él. Aquí hay un ejemplo de cómo podrías hacerlo:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>import os print(&quot;Crear archivo&quot;) print(&quot;Selecciona uno:&quot;) print(&quot;1.- html&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: print(&quot;Carpeta para guardar:&quot;) print(&quot;1.- Escritorio&quot;) print(&quot;2.- Manual&quot;) ubicacion = input(&quot;\n&gt; &quot;) if ubicacion == &#039;1&#039;: # Aquí deberás cambiar &#039;mi_usuario&#039; por tu nombre de usuario real path = &#039;/home/mi_usuario/Escritorio/nuevo_archivo.html&#039; elif ubicacion == &#039;2&#039;: path = input(&quot;Pega la ruta aquí: &quot;) else: print(&quot;Opción no válida, intenta de nuevo.&quot;) with open(path, &#039;w&#039;) as f: f.write(&#039;&lt;html&gt;\n&lt;head&gt;\n\n&lt;/head&gt;\n&lt;body&gt;\n\n&lt;/body&gt;\n&lt;/html&gt;&#039;) print(&quot;Archivo creado exitosamente.&quot;) else: print(&quot;Opción no válida, intenta de nuevo.&quot;)</code></pre> </div> </div><br /> Este ejemplo crea un archivo HTML en el Escritorio o en una ruta personalizada dependiendo de la opción que elija el usuario. Por favor, asegúrate de reemplazar &#039;mi_usuario&#039; por tu nombre de usuario real en el sistema. Adicionalmente, ten en cuenta que este código no verifica si la ruta ingresada por el usuario es válida, así que asegúrate de manejar esos casos como corresponda. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>¿Cómo cambio en el codigo python anterior el &quot;path = &#039;, si uso sistema windows?</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 287877" data-quote="Puko" data-source="post: 8750350" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750350" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750350">Puko dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> ¿Cómo cambio en el codigo python anterior el &quot;path = &#039;, si uso sistema windows? </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Si estás utilizando el sistema operativo Windows, puedes usar la variable de entorno <code class="bbCodeInline">%USERPROFILE%</code> para apuntar al directorio del perfil del usuario actual. La manera correcta de hacerlo sería:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>if ubicacion == &#039;1&#039;: path = os.path.join(os.getenv(&#039;USERPROFILE&#039;), &#039;Desktop\\nuevo_archivo.html&#039;)</code></pre> </div> </div><br /> En esta pieza de código, <code class="bbCodeInline">os.getenv(&#039;USERPROFILE&#039;)</code> obtendrá la ruta al directorio del perfil del usuario actual (por ejemplo, <code class="bbCodeInline">C:\\Users\\mi_usuario</code>) y luego la une con <code class="bbCodeInline">&#039;Desktop\\nuevo_archivo.html&#039;</code> para obtener la ruta completa al archivo que quieres crear en el escritorio.</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8750351" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750351" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750351">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Si estás utilizando el sistema operativo Windows, puedes usar la variable de entorno <code class="bbCodeInline">%USERPROFILE%</code> para apuntar al directorio del perfil del usuario actual. La manera correcta de hacerlo sería:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>if ubicacion == &#039;1&#039;: path = os.path.join(os.getenv(&#039;USERPROFILE&#039;), &#039;Desktop\\nuevo_archivo.html&#039;)</code></pre> </div> </div><br /> En esta pieza de código, <code class="bbCodeInline">os.getenv(&#039;USERPROFILE&#039;)</code> obtendrá la ruta al directorio del perfil del usuario actual (por ejemplo, <code class="bbCodeInline">C:\\Users\\mi_usuario</code>) y luego la une con <code class="bbCodeInline">&#039;Desktop\\nuevo_archivo.html&#039;</code> para obtener la ruta completa al archivo que quieres crear en el escritorio. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Me habias dicho: Sorry I couldn&#039;t contact the ChatGPT think tank<br /> pero ya funciona 🫣 🤭 🤩 🥳</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 287877" data-quote="Puko" data-source="post: 8750354" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750354" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750354">Puko dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Me habias dicho: Sorry I couldn&#039;t contact the ChatGPT think tank<br /> pero ya funciona 🫣 🤭 🤩 🥳 </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>¡Fantástico! Me alegra saber que tu código ya está funcionando correctamente. Si tienes más preguntas sobre Python o cualquier otro tema, no dudes en preguntar. ¡Feliz de ayudarte! 🥳👍🏼</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8750343" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750343" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750343">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Para hacer esto en Python, puedes utilizar el módulo <code class="bbCodeInline">os</code> para trabajar con el sistema operativo, y luego solo necesitas abrir (o crear, si no existe) el archivo en la ubicación especificada y escribir el contenido HTML en él. Aquí hay un ejemplo de cómo podrías hacerlo:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>import os print(&quot;Crear archivo&quot;) print(&quot;Selecciona uno:&quot;) print(&quot;1.- html&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: print(&quot;Carpeta para guardar:&quot;) print(&quot;1.- Escritorio&quot;) print(&quot;2.- Manual&quot;) ubicacion = input(&quot;\n&gt; &quot;) if ubicacion == &#039;1&#039;: # Aquí deberás cambiar &#039;mi_usuario&#039; por tu nombre de usuario real path = &#039;/home/mi_usuario/Escritorio/nuevo_archivo.html&#039; elif ubicacion == &#039;2&#039;: path = input(&quot;Pega la ruta aquí: &quot;) else: print(&quot;Opción no válida, intenta de nuevo.&quot;) with open(path, &#039;w&#039;) as f: f.write(&#039;&lt;html&gt;\n&lt;head&gt;\n\n&lt;/head&gt;\n&lt;body&gt;\n\n&lt;/body&gt;\n&lt;/html&gt;&#039;) print(&quot;Archivo creado exitosamente.&quot;) else: print(&quot;Opción no válida, intenta de nuevo.&quot;)</code></pre> </div> </div><br /> Este ejemplo crea un archivo HTML en el Escritorio o en una ruta personalizada dependiendo de la opción que elija el usuario. Por favor, asegúrate de reemplazar &#039;mi_usuario&#039; por tu nombre de usuario real en el sistema. Adicionalmente, ten en cuenta que este código no verifica si la ruta ingresada por el usuario es válida, así que asegúrate de manejar esos casos como corresponda. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>¿Cómo le agrego al codigo python anterior, que cheque si ya existe un archivo con el mismo nombre donde lo va crear y me pregunte si lo quiero sobreescribir o que al guardar lo renombre por ejemplo nuevo_archivo_2.html ?</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 287877" data-quote="Puko" data-source="post: 8750362" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750362" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750362">Puko dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> ¿Cómo le agrego al codigo python anterior, que cheque si ya existe un archivo con el mismo nombre donde lo va crear y me pregunte si lo quiero sobreescribir o que al guardar lo renombre por ejemplo nuevo_archivo_2.html ? </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Puedes utilizar el método <code class="bbCodeInline">os.path.exists()</code> para verificar si ya existe un archivo con el mismo nombre. Si el archivo ya existe, puedes solicitar al usuario decidir si se sobrescribe o se cambia el nombre del archivo. A continuación se muestra cómo hacerlo:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>import os print(&quot;Crear archivo&quot;) print(&quot;Selecciona uno:&quot;) print(&quot;1.- html&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: print(&quot;Carpeta para guardar:&quot;) print(&quot;1.- Escritorio&quot;) print(&quot;2.- Manual&quot;) ubicacion = input(&quot;\n&gt; &quot;) if ubicacion == &#039;1&#039;: path = os.path.join(os.getenv(&#039;USERPROFILE&#039;), &#039;Desktop\\nuevo_archivo.html&#039;) elif ubicacion == &#039;2&#039;: path = input(&quot;Pega la ruta aquí: &quot;) else: print(&quot;Opción no válida, intenta de nuevo.&quot;) if os.path.exists(path): print(&quot;El archivo ya existe.&quot;) overwrite = input(&quot;¿Quieres sobreescribirlo? (s/n): &quot;) if overwrite.lower() == &#039;n&#039;: base = os.path.splitext(path)[0] ext = os.path.splitext(path)[1] i = 2 while os.path.exists(f&quot;{base}_{i}{ext}&quot;): i += 1 path = f&quot;{base}_{i}{ext}&quot; with open(path, &#039;w&#039;) as f: f.write(&#039;&lt;html&gt;\n&lt;head&gt;\n\n&lt;/head&gt;\n&lt;body&gt;\n\n&lt;/body&gt;\n&lt;/html&gt;&#039;) print(f&quot;Archivo creado exitosamente en {path}&quot;) else: print(&quot;Opción no válida, intenta de nuevo.&quot;)</code></pre> </div> </div><br /> El código anterior verificará si el archivo existe. Si es el caso, preguntará si se desea sobrescribirlo. Si la respuesta es &quot;no&quot;, cambia el nombre del archivo nuevo a &#039;nombre_2.ext&#039;, &#039;nombre_3.ext&#039; y así sucesivamente hasta encontrar un nombre que no exista aún.</div>
 
<div class="bbWrapper">¿qué le pongo al siguiente codigo python que después de haber ejecutado &quot;command&quot; <br /> me pregunte si continuar y que me regrese a la opción : print(&quot; Descargar video:&quot;)<br /> o sino al menu principal<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>while True: print(&quot; ----------------------------------&quot;) print(&quot; Programas&quot;) print(&quot; ----------------------------------&quot;) print(&quot; Selecciona uno:&quot;) print(&quot; 1.- Tiktok&quot;) print(&quot; 2.- Twitter&quot;) seleccion = input(&quot;\n&gt; &quot;) if seleccion == &#039;1&#039;: print(&quot; Tiktok&quot;) print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: link = clipboard.paste() print(&quot;\n Carpeta de descarga?&quot;) print(&quot; 1.- Escritorio&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: elif opcion == &#039;2&#039;: command = #Aqui codigo elif seleccion == &#039;2&#039;: else: print(&quot; Opción no válida, intenta de nuevo.&quot;) continue</code></pre> </div> </div></div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 287877" data-quote="Puko" data-source="post: 8750386" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750386" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750386">Puko dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> ¿qué le pongo al siguiente codigo python que después de haber ejecutado &quot;command&quot; <br /> me pregunte si continuar y que me regrese a la opción : print(&quot; Descargar video:&quot;)<br /> o sino al menu principal<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>while True: print(&quot; ----------------------------------&quot;) print(&quot; Programas&quot;) print(&quot; ----------------------------------&quot;) print(&quot; Selecciona uno:&quot;) print(&quot; 1.- Tiktok&quot;) print(&quot; 2.- Twitter&quot;) seleccion = input(&quot;\n&gt; &quot;) if seleccion == &#039;1&#039;: print(&quot; Tiktok&quot;) print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: link = clipboard.paste() print(&quot;\n Carpeta de descarga?&quot;) print(&quot; 1.- Escritorio&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: elif opcion == &#039;2&#039;: command = #Aqui codigo elif seleccion == &#039;2&#039;: else: print(&quot; Opción no válida, intenta de nuevo.&quot;) continue</code></pre> </div> </div> </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Puedes agregar una verificación después de ejecutar tu &quot;command&quot; para preguntar si el usuario desea continuar. Luego en base a su elección puedes brincar a la respectiva opción o regresar al menú principal. Esto lo puedes hacer con un bucle while adicional. El código modificado sería así:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>while True: print(&quot; ----------------------------------&quot;) print(&quot; Programas&quot;) print(&quot; ----------------------------------&quot;) print(&quot; Selecciona uno:&quot;) print(&quot; 1.- Tiktok&quot;) print(&quot; 2.- Twitter&quot;) seleccion = input(&quot;\n&gt; &quot;) while seleccion == &#039;1&#039;: print(&quot; Tiktok&quot;) print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: link = clipboard.paste() print(&quot;\n Carpeta de descarga?&quot;) print(&quot; 1.- Escritorio&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: pass # Aqui código elif opcion == &#039;2&#039;: pass # Aqui código # Ejecutas tu command continuar = input(&quot;¿Deseas descargar otro video? (s/n): &quot;) if continuar.lower() != &#039;s&#039;: # Si no desea continuar, rompemos el bucle break elif seleccion == &#039;2&#039;: pass # Aqui código else: print(&quot; Opción no válida, intenta de nuevo.&quot;)</code></pre> </div> </div><br /> En este código, hemos rodeado el proceso de descarga Tiktok con su propio ciclo while, el cual se rompe únicamente cuando el usuario elige no continuar. Después de esto, el programa regresa al menú principal.</div>
 
<div class="bbWrapper">En el siguiente codigo python ¿Cómo le cambio el &quot;while True&quot; mas abajo, hasta arriba de print(&quot; Descargar video:&quot;)?<br /> si se lo cambio me dice IndentationError: unexpected indent<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>while True: print(&quot; Programas &quot;) if opcion == &#039;1&#039;: while True: print(&quot; ----------------------------------&quot;) print(&quot; Tiktok &quot;) print(&quot; ----------------------------------&quot;) print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) print(&quot; 2.- Una Url - Manual&quot;) print(&quot; 3.- Varias Urls&quot;) opcion = input(&quot;\n&gt; &quot;) urls = [] if opcion == &#039;1&#039;: elif opcion == &#039;2&#039;: elif opcion == &#039;3&#039;: print(&quot; Carpeta de descarga?&quot;) print(&quot; 1.- Escritorio&quot;) print(&quot; 2.- Downloads\Tiktok&quot;) print(&quot; 3.- Manual&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: elif opcion == &#039;2&#039;: elif opcion == &#039;3&#039;: else: for url in urls: command = os.system(command) continuar = input(&quot;¿Deseas descargar otro video? (s/n): &quot;) if continuar.lower() != &#039;s&#039;: break elif opcion == &#039;2&#039;:</code></pre> </div> </div></div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 287877" data-quote="Puko" data-source="post: 8750648" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750648" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750648">Puko dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> En el siguiente codigo python ¿Cómo le cambio el &quot;while True&quot; mas abajo, hasta arriba de print(&quot; Descargar video:&quot;)?<br /> si se lo cambio me dice IndentationError: unexpected indent<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>while True: print(&quot; Programas &quot;) if opcion == &#039;1&#039;: while True: print(&quot; ----------------------------------&quot;) print(&quot; Tiktok &quot;) print(&quot; ----------------------------------&quot;) print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) print(&quot; 2.- Una Url - Manual&quot;) print(&quot; 3.- Varias Urls&quot;) opcion = input(&quot;\n&gt; &quot;) urls = [] if opcion == &#039;1&#039;: elif opcion == &#039;2&#039;: elif opcion == &#039;3&#039;: print(&quot; Carpeta de descarga?&quot;) print(&quot; 1.- Escritorio&quot;) print(&quot; 2.- Downloads\Tiktok&quot;) print(&quot; 3.- Manual&quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: elif opcion == &#039;2&#039;: elif opcion == &#039;3&#039;: else: for url in urls: command = os.system(command) continuar = input(&quot;¿Deseas descargar otro video? (s/n): &quot;) if continuar.lower() != &#039;s&#039;: break elif opcion == &#039;2&#039;:</code></pre> </div> </div> </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>El problema es que estás utilizando la misma variable &quot;opcion&quot; tanto para seleccionar el programa como para seleccionar las opciones dentro de cada programa. Esto puede provocar que el segundo ciclo &quot;while True:&quot; se salte, porque &quot;opcion&quot; ya tiene un valor asignado. Intenta renombrar las variables &quot;opcion&quot; dentro de cada ciclo de programa a algo diferente, como &quot;opcion_tiktok&quot; y &quot;opcion_descarga&quot;. Aquí está tu código ajustado.<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>while True: print(&quot; Programas &quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: while True: print(&quot; ----------------------------------&quot;) print(&quot; Tiktok &quot;) print(&quot; ----------------------------------&quot;) print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) print(&quot; 2.- Una Url - Manual&quot;) print(&quot; 3.- Varias Urls&quot;) opcion_tiktok = input(&quot;\n&gt; &quot;) urls = [] if opcion_tiktok == &#039;1&#039;: pass elif opcion_tiktok == &#039;2&#039;: pass elif opcion_tiktok == &#039;3&#039;: pass print(&quot; Carpeta de descarga?&quot;) print(&quot; 1.- Escritorio&quot;) print(&quot; 2.- Downloads\Tiktok&quot;) print(&quot; 3.- Manual&quot;) opcion_descarga = input(&quot;\n&gt; &quot;) if opcion_descarga == &#039;1&#039;: pass elif opcion_descarga == &#039;2&#039;: pass elif opcion_descarga == &#039;3&#039;: pass else: pass for url in urls: command = &quot;&quot; os.system(command) continuar = input(&quot;¿Deseas descargar otro video? (s/n): &quot;) if continuar.lower() != &#039;s&#039;: break elif opcion == &#039;2&#039;: pass else: print(&quot;Opción no válida.&quot;)</code></pre> </div> </div></div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8750650" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750650" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750650">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> El problema es que estás utilizando la misma variable &quot;opcion&quot; tanto para seleccionar el programa como para seleccionar las opciones dentro de cada programa. Esto puede provocar que el segundo ciclo &quot;while True:&quot; se salte, porque &quot;opcion&quot; ya tiene un valor asignado. Intenta renombrar las variables &quot;opcion&quot; dentro de cada ciclo de programa a algo diferente, como &quot;opcion_tiktok&quot; y &quot;opcion_descarga&quot;. Aquí está tu código ajustado.<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>while True: print(&quot; Programas &quot;) opcion = input(&quot;\n&gt; &quot;) if opcion == &#039;1&#039;: while True: print(&quot; ----------------------------------&quot;) print(&quot; Tiktok &quot;) print(&quot; ----------------------------------&quot;) print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) print(&quot; 2.- Una Url - Manual&quot;) print(&quot; 3.- Varias Urls&quot;) opcion_tiktok = input(&quot;\n&gt; &quot;) urls = [] if opcion_tiktok == &#039;1&#039;: pass elif opcion_tiktok == &#039;2&#039;: pass elif opcion_tiktok == &#039;3&#039;: pass print(&quot; Carpeta de descarga?&quot;) print(&quot; 1.- Escritorio&quot;) print(&quot; 2.- Downloads\Tiktok&quot;) print(&quot; 3.- Manual&quot;) opcion_descarga = input(&quot;\n&gt; &quot;) if opcion_descarga == &#039;1&#039;: pass elif opcion_descarga == &#039;2&#039;: pass elif opcion_descarga == &#039;3&#039;: pass else: pass for url in urls: command = &quot;&quot; os.system(command) continuar = input(&quot;¿Deseas descargar otro video? (s/n): &quot;) if continuar.lower() != &#039;s&#039;: break elif opcion == &#039;2&#039;: pass else: print(&quot;Opción no válida.&quot;)</code></pre> </div> </div> </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>si funciona, nomas quiero que después de seleccionar &quot;s&quot; en la opción &quot;¿Deseas descargar otro video? (s/n): &quot; regrese/aparesca hasta después de &quot; Descargar video:&quot; asi:<br /> <br /> print(&quot; ----------------------------------&quot;)<br /> print(&quot; Tiktok &quot;)<br /> print(&quot; ----------------------------------&quot;)<br /> while True:<br /> print(&quot; Descargar video:&quot;)<br /> print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;)<br /> print(&quot; 2.- Una Url - Manual&quot;)<br /> print(&quot; 3.- Varias Urls&quot;)</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 287877" data-quote="Puko" data-source="post: 8750670" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750670" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750670">Puko dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> si funciona, nomas quiero que después de seleccionar &quot;s&quot; en la opción &quot;¿Deseas descargar otro video? (s/n): &quot; regrese/aparesca hasta después de &quot; Descargar video:&quot; asi:<br /> <br /> print(&quot; ----------------------------------&quot;)<br /> print(&quot; Tiktok &quot;)<br /> print(&quot; ----------------------------------&quot;)<br /> while True:<br /> print(&quot; Descargar video:&quot;)<br /> print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;)<br /> print(&quot; 2.- Una Url - Manual&quot;)<br /> print(&quot; 3.- Varias Urls&quot;) </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Entiendo, para este caso, simplemente puedes mover los prints de Tiktok fuera del bucle while. Así:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>if opcion == &#039;1&#039;: print(&quot; ----------------------------------&quot;) print(&quot; Tiktok &quot;) print(&quot; ----------------------------------&quot;) while True: print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) print(&quot; 2.- Una Url - Manual&quot;) print(&quot; 3.- Varias Urls&quot;) # y así sucesivamente...</code></pre> </div> </div>De esta manera, cuando eliges continuar después de descargar un video, el ciclo solo reiniciará a partir de &quot;Descargar video:&quot;.</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8750671" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8750671" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8750671">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Entiendo, para este caso, simplemente puedes mover los prints de Tiktok fuera del bucle while. Así:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Python: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="python"><code>if opcion == &#039;1&#039;: print(&quot; ----------------------------------&quot;) print(&quot; Tiktok &quot;) print(&quot; ----------------------------------&quot;) while True: print(&quot; Descargar video:&quot;) print(&quot; 1.- Una Url - Pegar desde el portapapeles&quot;) print(&quot; 2.- Una Url - Manual&quot;) print(&quot; 3.- Varias Urls&quot;) # y así sucesivamente...</code></pre> </div> </div>De esta manera, cuando eliges continuar después de descargar un video, el ciclo solo reiniciará a partir de &quot;Descargar video:&quot;. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Que herramientas y todo lo necesario que se necesita para abrir un almacén de ventas de productos. Indicar todo lo relacionado para compras</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 209775" data-quote="Cibertec" data-source="post: 8751400" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8751400" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8751400">Cibertec dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Que herramientas y todo lo necesario que se necesita para abrir un almacén de ventas de productos. Indicar todo lo relacionado para compras </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Abrir un almacén de ventas de productos requiere una planificación cuidadosa y recursos adecuados. Aquí hay algunos aspectos clave a considerar:<br /> <br /> 1. <b>Plan de Negocios</b>: Un plan de negocio sólido es crucial. Este debe incluir un análisis de mercado, un modelo financiero, estrategias de marketing y ventas, y un plan de operaciones.<br /> <br /> 2. <b>Financiación</b>: Necesitarás capital inicial para cubrir los costos de instalación, inventario, alquiler del local, permisos de negocio, etc.<br /> <br /> 3. <b>Localización</b>: Escoge una ubicación estratégica para tu almacén, considerando factores como accesibilidad, demográficos objetivos y competencia cercana.<br /> <br /> 4. <b>Permisos y Licencias</b>: Consulta las regulaciones locales y nacionales para asegurarte de tener todas las licencias y permisos necesarios para operar<br /> <br /> 5. <b>Proveedores</b>: Busca proveedores confiables y establece relaciones sólidas con ellos. Negocia los términos de compra.<br /> <br /> 6. <b>Inventario</b>: Investiga qué productos son más vendibles y rentables en tu área. Planifica la gestión de existencias y compras.<br /> <br /> 7. <b>Equipo de Almacén</b>: Dependiendo del tamaño de tu almacén, es posible que necesites adquirir estanterías, montacargas, máquinas de embalaje, carretillas, etc.<br /> <br /> 8. <b>Software de Gestión de Inventarios</b>: Investiga y elige um software adecuado para realizar seguimiento de las existencias, las ventas y los pedidos.<br /> <br /> 9. <b>Personal</b>: Deberás contratar personal para manejar operaciones de almacén, venta, y atención al cliente.<br /> <br /> 10. <b>Estrategias de Marketing y Ventas</b>: Define cómo promoverás y venderás tus productos. Esto puede incluir publicidad online, en la tienda, organización de eventos, etc.<br /> <br /> Recuerda siempre hacer un análisis SWOT (Fuerzas, Debilidades, Oportunidades y Amenazas) de tu negocio y mantén un ojo en los movimientos de la competencia. ¡Buena suerte!</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8751405" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8751405" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8751405">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Abrir un almacén de ventas de productos requiere una planificación cuidadosa y recursos adecuados. Aquí hay algunos aspectos clave a considerar:<br /> <br /> 1. <b>Plan de Negocios</b>: Un plan de negocio sólido es crucial. Este debe incluir un análisis de mercado, un modelo financiero, estrategias de marketing y ventas, y un plan de operaciones.<br /> <br /> 2. <b>Financiación</b>: Necesitarás capital inicial para cubrir los costos de instalación, inventario, alquiler del local, permisos de negocio, etc.<br /> <br /> 3. <b>Localización</b>: Escoge una ubicación estratégica para tu almacén, considerando factores como accesibilidad, demográficos objetivos y competencia cercana.<br /> <br /> 4. <b>Permisos y Licencias</b>: Consulta las regulaciones locales y nacionales para asegurarte de tener todas las licencias y permisos necesarios para operar<br /> <br /> 5. <b>Proveedores</b>: Busca proveedores confiables y establece relaciones sólidas con ellos. Negocia los términos de compra.<br /> <br /> 6. <b>Inventario</b>: Investiga qué productos son más vendibles y rentables en tu área. Planifica la gestión de existencias y compras.<br /> <br /> 7. <b>Equipo de Almacén</b>: Dependiendo del tamaño de tu almacén, es posible que necesites adquirir estanterías, montacargas, máquinas de embalaje, carretillas, etc.<br /> <br /> 8. <b>Software de Gestión de Inventarios</b>: Investiga y elige um software adecuado para realizar seguimiento de las existencias, las ventas y los pedidos.<br /> <br /> 9. <b>Personal</b>: Deberás contratar personal para manejar operaciones de almacén, venta, y atención al cliente.<br /> <br /> 10. <b>Estrategias de Marketing y Ventas</b>: Define cómo promoverás y venderás tus productos. Esto puede incluir publicidad online, en la tienda, organización de eventos, etc.<br /> <br /> Recuerda siempre hacer un análisis SWOT (Fuerzas, Debilidades, Oportunidades y Amenazas) de tu negocio y mantén un ojo en los movimientos de la competencia. ¡Buena suerte! </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Genera una breve descripción sobre el servicio de delivery-courier</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 209775" data-quote="Cibertec" data-source="post: 8751510" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8751510" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8751510">Cibertec dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Genera una breve descripción sobre el servicio de delivery-courier </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>El servicio de delivery-courier ofrece la recogida y entrega de paquetes, documentos y otros artículos en diversos lugares según las necesidades del cliente. Este servicio se caracteriza por su rapidez y eficiencia, permitiendo a las empresas y particulares enviar y recibir objetos en tiempos cortos. Puede incluir servicios de seguimiento para monitorizar los envíos en tiempo real, ofreciendo tranquilidad al cliente. Ideal para e-commerce, negocios y situaciones personales donde se requiere entrega a domicilio.</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8751512" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8751512" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8751512">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> El servicio de delivery-courier ofrece la recogida y entrega de paquetes, documentos y otros artículos en diversos lugares según las necesidades del cliente. Este servicio se caracteriza por su rapidez y eficiencia, permitiendo a las empresas y particulares enviar y recibir objetos en tiempos cortos. Puede incluir servicios de seguimiento para monitorizar los envíos en tiempo real, ofreciendo tranquilidad al cliente. Ideal para e-commerce, negocios y situaciones personales donde se requiere entrega a domicilio. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>De que país es la arepa?</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 283529" data-quote="blankito1998" data-source="post: 8751587" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8751587" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8751587">blankito1998 dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> De que país es la arepa? </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>La arepa es un plato tradicional tanto de Colombia como de Venezuela. En ambos países, la arepa tiene un papel importante en la dieta diaria y hay variaciones en la forma de prepararla y rellenarla.</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 229615" data-quote="BotBeta" data-source="post: 8751588" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8751588" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8751588">BotBeta dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> La arepa es un plato tradicional tanto de Colombia como de Venezuela. En ambos países, la arepa tiene un papel importante en la dieta diaria y hay variaciones en la forma de prepararla y rellenarla. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>Pero en qué país se vio primero la arepa?</div>
 
<div class="bbWrapper"><blockquote data-attributes="member: 283529" data-quote="blankito1998" data-source="post: 8751590" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/goto/post?id=8751590" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-8751590">blankito1998 dijo:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Pero en qué país se vio primero la arepa? </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Hacer clic para expandir...</a></div> </div> </blockquote>La arepa es originaria de los territorios que hoy comprenden Colombia y Venezuela. Fue creada por los indígenas de la región mucho antes de la colonización europea. Por lo tanto, es difícil atribuir su aparición a un país en particular entre estos dos.</div>
 
Atrás
Arriba