import requests
def get_token():
return '835500611:AAF4cO6d0U6xRU6O-kSbY_Pf5G2f5Z5q5KQ'
def get_url():
token = get_token()
return f'https://api.telegram.org/bot{token}/'
def get_updates():
url = get_url() + 'getUpdates'
response = requests.get(url)
return response.json()
void chatbot() {
while(true) {
string userinput;
getline(cin, userinput);
if(userinput == "hello")
cout << "Hello!" << endl;
else if(userinput == "why are you so stupid?")
cout << "because i am a bot" << endl;
else
cout << "i dont understand" << endl;
}
}
int main(){
char letra, mes[13];
printf("Ingrese una letra de la A a la L: ");
scanf("%c", &letra);
switch(letra){
case 'A':
case 'a':
printf("Enero");
break;
case 'B':
case 'b':
printf("Febrero");
break;
case 'C':
case 'c':
printf("Marzo");
break;
case 'D':
case 'd':
printf("Abril");
break;
case 'E':
case 'e':
printf("Mayo");
break;
case 'F':
case 'f':
printf("Junio");
break;
case 'G':
case 'g':
printf("Julio");
break;
case 'H':
case 'h':
printf("Agosto");
break;
case 'I':
case
import os
def speak(text):
os.system(f'powershell.exe -Command "Add-Type -AssemblyName System.speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak(\'{text}\');"')
speak('Test')
SELECT SUM(Total) FROM Orders WHERE OrderDate LIKE "1998-01-%" AND EmployeeID=5;
import { Vue, Component, Prop, Watch } from "vue-property-decorator";
@Component({
name: "Masonry",
})
export default class GridLayout extends Vue {
@Prop({ default: false })
horizontal!: boolean;
@Prop({ default: 200 })
gutter!: number;
@Prop({ default: 0 })
column!: number;
@Prop({ default: null })
minWidth!: number | null;
@Prop({ default: null })
maxWidth!: number | null;
@Prop({ default: null })
breakpoint!: number | null;
@Prop({ default: true })
transition!: boolean;
@Prop({ default: "fade" })
transitionMode!: string;
@Prop({ default: 300 })
transitionDuration!: number;
private $slots = this.$slots;
private $props = this.$props;
private currentWidth: number = 0;
private currentGutterSize: number = 0;
private transitionDurationStyle
def tiempos(h, m):
h = h*60
return h + m
h = 17
m = 30
tiempo = tiempos(h, m)
print(tiempo)
#include<iostream>
#include<string>
using namespace std;
int main(){
int n;
cout<<"enter number: ";
cin>>n;
string str = to_string(n);
cout<<str<<endl;
cout<<"sum is: ";
int sum = 0;
for(int i = 0; i < str.length(); i += 2){
string s;
s += str[i];
s += str[i+1];
sum += stoi(s);
}
cout<<sum<<endl;
}
fun hola(name: String) {
println("Hola $name")
}
hola("Miguel")
**Nombre del Software:** PERFIL DE INGRESO COMO DEPORTISTA A LA UNIVERSIDAD DE CÓRDOBA – SPORT STUDENTS UDC “SPOSTU”
**Descripción:**
El software "SPOSTU" es una aplicación web desarrollada en PHP que permite a los estudiantes que desean ingresar a la Universidad de Córdoba como deportistas, crear un perfil y presentar su solicitud de ingreso. La aplicación ofrece una plataforma fácil de usar y segura para que los estudiantes puedan proporcionar la información necesaria para su solicitud.
**Requisitos Funcionales:**
1. **Registro de estudiantes:** Los estudiantes pueden registrarse en la aplicación proporcionando su nombre, apellido, correo electrónico, contraseña y número de documento.
2. **Creación de perfil:** Los estudiantes pueden crear un perfil que incluye su información personal, datos de contacto y experiencia deportiva.
3. **Presentación de solicitud:** Los estudiantes pueden presentar su solicitud de ingreso a la Universidad de Córdoba como deportistas, proporcionando la documentación necesaria y respondiendo a las preguntas del formulario.
4. **Gestión de solicitudes:** Los responsables de la Universidad de Córdoba pueden gestionar las solicitudes de ingreso, revisar la documentación y evaluar las solicitudes.
5. **Notificación de resultados:** Los estudiantes pueden recibir notificaciones sobre el estado de su solicitud y los resultados finales.
**Requisitos No Funcionales:**
1. **Seguridad:** La aplicación debe ser segura y proteger la información personal de los estudiantes.
2. **Usabilidad:** La aplicación debe ser fácil de usar y navegar.
3. **Rendimiento:** La aplicación debe ser rápida y eficiente en su funcionamiento.
4. **Compatibilidad:** La aplicación debe ser compatible con diferentes navegadores y dispositivos.
**Diseño de la Base de Datos:**
La base de datos de la aplicación "SPOSTU" estará compuesta por las siguientes tablas:
1. **estudiantes:** Almacena la información personal de los estudiantes, incluyendo nombre, apellido, correo electrónico, contraseña y número de documento.
2. **perfiles:** Almacena la información del perfil de cada estudiante, incluyendo datos de contacto y experiencia deportiva.
3. **solicitudes:** Almacena la información de cada solicitud de ingreso, incluyendo la documentación proporcionada y las respuestas al formulario.
4. **resultados:** Almacena los resultados finales de cada solicitud de ingreso.
**Estructura de la Aplicación:**
La aplicación "SPOSTU" estará estructurada en las siguientes capas:
1. **Capa de presentación:** Se encarga de la interfaz de usuario y la presentación de la información.
2. **Capa de lógica de negocio:** Se encarga de la lógica de negocio y la gestión de la información.
3. **Capa de acceso a datos:** Se encarga de la conexión a la base de datos y la recuperación de la información.
**Tecnologías utilizadas:**
1. **PHP:** Se utilizará como lenguaje de programación principal.
2. **MySQL:** Se utilizará como base de datos.
3. **HTML/CSS:** Se utilizarán para la creación de la interfaz de usuario.
4. **JavaScript:** Se utilizará para la creación de efectos y animaciones.
**Ejemplo de código:**
```php
// Conexión a la base de datos
$conexion = mysqli_connect("localhost", "usuario", "contraseña", "bd_spostu");
// Registro de estudiantes
if (isset($_POST['registro'])) {
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$correo = $_POST['correo'];
$contraseña = $_POST['contraseña'];
$documento = $_POST['documento'];
// Insertar datos en la base de datos
$query = "INSERT INTO estudiantes (nombre, apellido, correo, contraseña, documento) VALUES ('$nombre', '$apellido', '$correo', '$contraseña', '$documento')";
mysqli_query($conexion, $query);
// Redireccionar a la página de perfil
header("Location: perfil.php");
}
// Creación de perfil
if (isset($_POST['crear_perfil'])) {
$datos_contacto = $_POST['datos_contacto'];
$experiencia_deportiva = $_POST['experiencia_deportiva'];
// Insertar datos en la base de datos
$query = "INSERT INTO perfiles (datos_contacto, experiencia_deportiva) VALUES ('$datos_contacto', '$experiencia_deportiva')";
mysqli_query($conexion, $query);
// Redireccionar a la página de solicitud
header("Location: solicitud.php");
}
// Presentación de solicitud
if (isset($_POST['presentar_solicitud'])) {
$documentacion = $_POST['documentacion'];
$respuestas = $_POST['respuestas'];
// Insertar datos en la base de datos
$query = "INSERT INTO solicitudes (documentacion, respuestas) VALUES ('$documentacion', '$respuestas')";
mysqli_query($conexion, $query);
// Redireccionar a la página de resultados
header("Location: resultados.php");
}
```
Este es solo un ejemplo de código y no es una implementación completa de la aplicación "SPOSTU". La aplicación debe ser desarrollada y probada exhaustivamente antes de ser lanzada a producción.
let sql = require('sql')
sql.query(sql.select().from(table).toString())
UPDATE Projects SET name = TRIM(name);
def add(a,b):
return (a+b)
def sum_complex(*args):
sum_ = 0
for i in args:
sum_ = add(sum_, i)
return sum_
sum_complex(1,2,3,4,5,6)
def menu():
print("1. datos personales")
print("2. Notas de cursos")
print("3. Ausencias y Tardías")
print("4. Salir")
opcion = int(input("Ingrese una opción >> "))
if opcion == 1:
datos_personales()
elif opcion == 2:
notas()
elif opcion == 3:
ausencias()
elif opcion == 4:
exit()
else:
print("Opción incorrecta")
def datos_personales():
print("Ingrese sus datos")
nombre = input("Nombre >> ")
apellido = input("Apellido >> ")
edad = input("Edad >> ")
sexo = input("Sexo >> ")
print("")
print("Datos Ingresados")
print("Nombre: "
ublic class Date {
public static void main(String[] args) {
int dia, mes, ano;
dia = mes = ano = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Introduce el dia: ");
dia = sc.nextInt();
System.out.println("Introduce el mes:
def algoritmo_genetico(valor_inicial, valor_final, formacion_de_parejas, numero_de_generaciones, probabilidad_de_cruzamiento, probabilidad_de_mutacion):
# Inicializamos la poblacion
poblacion = []
for i in range(0, numero_de_generaciones):
poblacion.append([])
for j in range(0
El Simulador de la Máquina de Von Neumann es una herramienta en línea que permite simular la ejecución de programas en una máquina de Von Neumann. A continuación, te proporciono un ejemplo de programa en C++ que pide la medida de la base y la medida de la altura de un triángulo y calcula su área, almacenando el resultado en la memoria RAM.
**Programa en C++**
```c
#include <iostream>
int main() {
// Declarar variables
int base, altura, area;
// Pedir la medida de la base y la altura
std::cout << "Ingrese la medida de la base del triángulo: ";
std::cin >> base;
std::cout << "Ingrese la medida de la altura del triángulo: ";
std::cin >> altura;
// Calcular el área
area = (base * altura) / 2;
// Almacenar el resultado en la memoria RAM
// En el simulador, la memoria RAM se representa como una serie de registros.
// Aquí, almacenamos el resultado en el registro R1.
// R1 = area;
// Imprimir el resultado
std::cout << "El área del triángulo es: " << area << std::endl;
return 0;
}
```
**Ejecución en el Simulador**
1. Abre el Simulador de la Máquina de Von Neumann en tu navegador.
2. Carga el programa en C++ que acabas de escribir.
3. Presiona el botón "Ejecutar" para ejecutar el programa.
4. En la consola del simulador, ingresa la medida de la base y la altura del triángulo cuando se te solicite.
5. El programa calculará el área del triángulo y lo almacenará en la memoria RAM (representada por el registro R1).
6. El resultado se imprimirá en la consola del simulador.
Recuerda que el Simulador de la Máquina de Von Neumann es una herramienta educativa que te permite experimentar con la arquitectura de una máquina de Von Neumann. Aunque el programa en C++ que proporcioné es funcional, es importante tener en cuenta que el simulador tiene algunas limitaciones y restricciones que pueden afectar la ejecución del programa.
def factorial(x):
if x == 0:
return 1
return x * factorial(x - 1)
factorial(5)
Aquí te muestro un ejemplo de cómo crear un cronómetro con HTML, CSS y JavaScript:
**HTML**
```html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cronómetro</title>
<link rel="stylesheet" href="estilos.css">
</head>
<body>
<div class="cronometro">
<h1 id="tiempo">00:00:00</h1>
<button id="start">Iniciar</button>
<button id="stop">Detener</button>
<button id="reset">Resetear</button>
</div>
<script src="script.js"></script>
</body>
</html>
```
**CSS (en el archivo estilos.css)**
```css
.cronometro {
width: 300px;
margin: 50px auto;
text-align: center;
}
#tiempo {
font-size: 48px;
font-weight: bold;
margin-bottom: 20px;
}
```
**JavaScript (en el archivo script.js)**
```javascript
let tiempo = 0;
let intervalo;
document.getElementById('start').addEventListener('click', () => {
intervalo = setInterval(() => {
tiempo++;
let horas = Math.floor(tiempo / 3600);
let minutos = Math.floor((tiempo % 3600) / 60);
let segundos = tiempo % 60;
document.getElementById('tiempo').innerHTML = `${horas.toString().padStart(2, '0')}:${minutos.toString().padStart(2, '0')}:${segundos.toString().padStart(2, '0')}`;
}, 1000);
});
document.getElementById('stop').addEventListener('click', () => {
clearInterval(intervalo);
});
document.getElementById('reset').addEventListener('click', () => {
clearInterval(intervalo);
tiempo = 0;
document.getElementById('tiempo').innerHTML = '00:00:00';
});
```
En este ejemplo, creamos un cronómetro que cuenta desde 0 y muestra el tiempo en formato HH:MM:SS. Los botones "Iniciar", "Detener" y "Resetear" permiten controlar el cronómetro.
* El botón "Iniciar" inicia el cronómetro y comienza a contar el tiempo.
* El botón "Detener" detiene el cronómetro y para la cuenta regresiva.
* El botón "Resetear" reinicia el cronómetro y establece el tiempo en 0.
Espero que esto te ayude. ¡Si tienes alguna pregunta o necesitas más ayuda, no dudes en preguntar!
def add(a, b):
print(a)
print(b)
return a + b
add(1, 2)
def backtest_aapl(window):
b = backtesting.Backtest(aapl['Close'], aapl['Close'].rolling(window).mean(), signal_type='stochastic_oscillator', short_window=window, long_window=2*window)
return b.signal
public string hillCipher(string key, string plainText)
{
string cipherText = "";
int[] keyInt = key.Select(c => (int)c).ToArray();
int[] plainTextInt = plainText.Select(c => (int)c).ToArray();
int[,] keyMatrix = new int[2, 2];
int[,] plainTextMatrix = new int[2, 1];
keyMatrix[0, 0] = keyInt[0] - 65;
keyMatrix[0, 1] = keyInt[1] - 65;
keyMatrix[1, 0] = keyInt[2] - 65;
keyMatrix[1, 1] = keyInt[3] - 65;
plainTextMatrix[0, 0] = plainTextInt[0] - 65;
plainTextMatrix[1, 0] = plainTextInt[1] - 65;
int[,] cipherTextMatrix = new int[2, 1];
cipherTextMatrix[0, 0] = (keyMatrix[0,
def hack_instagram(username):
<a href="mailto:+79186788247">+79186788247</a>
++
#include<stdio.h>
#include<stdlib.h>
int main()
{
int opcion;
do
{
printf("1. if \n");
printf("2. if else\n");
printf("3. for\n");
printf("4. while \n");
printf("5. do while \n");
printf("6. salir \n");
scanf("%d",&opcion);
switch(opcion)
{
case 1:
printf("Usted eligio la opcion if");
break;
case 2:
printf("Usted eligio la opcion if else");
break;
case 3:
printf("Usted eligio la opcion for");
break;
case 4:
printf("Usted eligio la opcion while");
break;
case 5:
printf("Usted eligio la opcion do while");
break;
case 6:
printf("Usted eligio la opcion salir");
break;
default:
printf("opcion invalida");
Script
function createDashboardForm() {
var form = document.createElement('form');
//set form attributes
form.style.padding = '20px';
form.style.border = '1px dashed #000';
form.style.width = '350px';
//create a title
var title = document.createElement('h1');
title.innerHTML = 'Sign up for our newsletter';
//create a description
var description = document.createElement('p');
description.innerHTML = 'Enter your information below to receive our free newsletter.';
//create inputs
var nameInput = document.createElement('input');
nameInput.setAttribute('type', 'text');
nameInput.setAttribute('placeholder', 'Name');
nameInput.style.display = 'block';
nameInput.style.marginBottom = '10px';
var emailInput = document.createElement('input');
emailInput.setAttribute('type', 'email');
emailInput.setAttribute('placeholder', 'Email');
email
def agregar_verdura(lista, verdura):
if verdura not in lista:
lista.append(verdura)
return "{} agregada exitosamente".format(verdura)
else:
return "La verdura ya está en la lista"
verduras = ['lechuga', 'cebolla']
agregar_verdura(verduras, 'tomate')
#
public static Panel CreatePanel()
{
var panel = new Panel();
var textBox = new TextBox();
textBox.Location = new Point(10, 10);
textBox.Size = new Size(200, 50);
panel.Controls.Add(textBox);
var button = new Button();
button.Location = new Point(10, 70);
button.Size = new Size(200, 50);
button.Text = "Execute";
panel.Controls.Add(button);
return panel;
}
private void button1_Click(object sender, EventArgs e)
{
var panel = CreatePanel();
Controls.Add(panel);
}
DELIMITER //
CREATE PROCEDURE ListProducts()
BEGIN
SELECT * FROM Products
INNER JOIN Categories
ON
Products.categoryID = Categories.categoryID
INNER JOIN Suppliers
ON
Products.supplierID = Suppliers.supplierID
END //
DELIMITER ;
lic double areaTriangle(double a, double b, double c)
{
return (a * b * Math.Sqrt(Math.Pow(c, 2) - Math.Pow(a, 2) - Math.Pow(b, 2))) / 2;
}
public double areaSquare(double a)
{
return a * a;
}
public double area
/^\d{8}[a-zA-Z]$/
SELECT * FROM `order` where ctime between '2017-03-01' and '2017-05-22' and id in (select order_id from order_detail where status = 1 )
function hablarEspañol(persona) {
if (persona === "español" || persona === "colombiano") {
console.log("¡Hola!");
} else {
console.log("¡Hablas inglés!");
}
}
var products = [
{ name: 'Galletas', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' },
{ name: 'Bebidas', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' },
{ name: 'Comida', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' },
{ name: 'Papas', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' },
{ name: 'Tortas', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' },
]
var carousel = document.getElementById('carousel');
var html = '';
html += '<div class="products">'
for (var i = 0; i < products.length; i++) {
html += '<div class="product">';
html += '<
def print_message(message):
print(message)
def main():
print_message("Hello, world!")
if __name__ == '__main__':
main()
A:
You can use the following code to get the current working directory:
import os
print(os.getcwd())
A:
You can use os.path.
def find_max_square(arr):
max_square = 0
pos = 0
for i, x in enumerate(arr):
if x ** 2 > max_square:
max_square = x ** 2
pos = i
return pos, max_square
The regex matches the first bracket, then any character, then any number of characters, then a comma.
The regex matches the first bracket, then any character, then any number of characters, then a comma.
ript
function mayor(numero) {
if (numero > 9) {
return true;
} else {
return false;
}
}
console.log(mayor(5)); // false
console.log(mayor(10)); // true
A:
El problema es que estás usando el operador de asignación (=) en lugar del operador de comparación (==).
function hablarEspañol(persona) {
if (persona === "español" || persona === "colombiano") {
console.log("¡Hola!");
} else {
console.log("¡Hablas inglés!");
}
}
private void extract_Click(object sender, EventArgs e)
{
string input = data.Text;
string[] parts = input.Split(',');
foreach (string part in parts)
{
listBox1.Items.Add(part);
}
}
#include <iostream>
int main() {
int suma = 0;
for (int i = 0; i < 200; ++i) {
if(i % 2 != 0)
suma += i;
}
std::cout << suma << std::endl;
return 0;
}
int main(int argc, char** argv) {
// Create a file reader
cv::VideoCapture cap;
// Open the video file
cap.open(0);
// Create a window to display the video
cv::namedWindow("Video");
// Show the image in the window
cv::imshow("Video", video);
// Wait for the user to press a button
cv::waitKey(0);
}
t unittest
class TestLed(unittest.TestCase):
def test_led(self):
led = Led(pin=13)
self.assertEqual(led.pin, 13)
self.assertEqual(led.value, 0)
self.assertEqual(led.on(), 0)
self.assertEqual(led.off(), 1)
self.assertEqual(led.toggle(),
The regex matches the first bracket, then any character, then any number of characters, then a comma.
def big_vowels(sentence, word):
#include<iostream>
#include<string>
using namespace std;
int main(){
int n;
cout<<"enter number: ";
cin>>n;
string str = to_string(n);
cout<<str<<endl;
cout<<"sum is: ";
int sum = 0;
for(int i = 0; i < str.length(); i += 2){
string s;
s += str[i];
s += str[i+1];
sum += stoi(s);
}
cout<<sum<<endl;
}
Future<void> signUp(String email, String password) async {
var result = await _cognitoUserPool.signUp(email, password, [
AttributeArg(name: 'email', value: email),
AttributeArg(name: 'name', value: 'minh'),
AttributeArg(name: 'phone_number', value: '0932919800'),
AttributeArg(name: 'gender', value: 'male'),
]);
print('signUp result: $result');
}
func crack(phone):
phone.hack()
def age(name, age, address, phone, sex):
if age > 18:
print("Es mayor de edad")
else:
print("Es menor de edad")
if sex == "M":
print("Es hombre")
else:
print("Es mujer")
age("Maria", 26, "Calle 6", "123-4567", "F")
def invoice(name, amount, **kwargs):
print(f"Name={name} Amount={amount}")
for k,v in kwargs.items():
print(f"{k} : {v}")
invoice("Paula", 100, tax=0.16, tip=1.2)
import unittest
class TestCadena(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
# check that s.split fails when the separator is not a string
with self.assertRaises(TypeError):
s.split(2)
if __name__ == '__main__':
unittest.main()
int main()
{
int a, b, c;
cin>>a>>b>>c;
if(a>b && a>c)
{
cout<<a<<" ";
if(b>c)
cout<<b<<" "<<c;
else
cout<<c<<" "<<b;
}
else if(b>a && b>c)
{
cout<<b<<" ";
if(a>c)
cout<<a<<" "<<c;
else
cout<<c<<" "<<a;
}
else if(c>a && c>b)
{
cout<<c<<" ";
if(a>b)
cout<<a<<" "<<b;
else
cout<<b<<" "<<a;
}
return 0;
}
int main(){
int i;
for(i=8;i<=500;i+=8){
printf("\n%d",i);
}
return 0;
}
function hablarEspañol(persona) {
if (persona === "español" || persona === "colombiano") {
console.log("¡Hola!");
} else {
console.log("¡Hablas inglés!");
}
}
1: Create table clientes (
id int not null primary key,
name varchar(255) not null,
email varchar(255) not null,
password varchar(255) not null)
2: Create table admin (
id int not null primary key,
name varchar(255) not null,
email varchar(255) not null,
password varchar(255) not null)
UPDATE Projects SET name = TRIM(name);
The regex matches the first bracket, then any character, then any number of characters, then a comma.
void PrintPattern1(int start, int end)
{
if(start > end)
{
return;
}
cout<<start<<" ";
PrintPattern1(start+5, end);
cout<<start<<" ";
}
You can use the following code to get the desired output.
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
function multiply(a, b) {
return a *
Para crear una interfaz gráfica en Python que muestre la tabla de productos vencidos de la tabla inventario, podemos utilizar la biblioteca `tkinter` para crear la interfaz y `sqlite3` para interactuar con la base de datos. A continuación, te muestro un ejemplo de cómo podrías hacerlo:
```python
import tkinter as tk
from tkinter import ttk
import sqlite3
# Conectar a la base de datos
conn = sqlite3.connect('inventario.db')
cursor = conn.cursor()
# Crear la tabla inventario si no existe
cursor.execute('''
CREATE TABLE IF NOT EXISTS inventario (
id INTEGER PRIMARY KEY,
nombre_producto TEXT,
fecha_vencimiento DATE,
cantidad INTEGER,
sucursal TEXT
)
''')
# Función para obtener los productos vencidos
def obtener_productos_vencidos():
cursor.execute('''
SELECT * FROM inventario
WHERE fecha_vencimiento < DATE('now')
''')
productos_vencidos = cursor.fetchall()
return productos_vencidos
# Función para crear la tabla en la interfaz
def crear_tabla():
for widget in tabla_frame.winfo_children():
widget.destroy()
productos_vencidos = obtener_productos_vencidos()
if productos_vencidos:
columnas = ['ID', 'Nombre Producto', 'Fecha Vencimiento', 'Cantidad', 'Sucursal']
tree = ttk.Treeview(tabla_frame, columns=columnas, show='headings')
for columna in columnas:
tree.heading(columna, text=columna)
for producto in productos_vencidos:
tree.insert('', 'end', values=producto)
tree.pack(fill='both', expand=True)
else:
label = ttk.Label(tabla_frame, text='No hay productos vencidos')
label.pack(fill='both', expand=True)
# Crear la interfaz
root = tk.Tk()
root.title('Productos Vencidos')
tabla_frame = ttk.Frame(root)
tabla_frame.pack(fill='both', expand=True)
boton = ttk.Button(root, text='Actualizar tabla', command=crear_tabla)
boton.pack(fill='x')
crear_tabla()
root.mainloop()
# Cerrar la conexión a la base de datos
conn.close()
```
En este ejemplo, creamos una interfaz con un botón que, cuando se presiona, actualiza la tabla con los productos vencidos de la base de datos. La tabla se muestra en un frame dentro de la interfaz principal.
Recuerda que debes crear una base de datos llamada `inventario.db` en el mismo directorio que el script, y que la tabla `inventario` debe tener las columnas `id`, `nombre_producto`, `fecha_vencimiento`, `cantidad` y `sucursal`.
def factorial(n):
total = 1
for i in range(1, n + 1):
total *= i
return total
factorial(5)
Future<void> signUp(String email, String password) async {
var result = await _cognitoUserPool.signUp(email, password, [
AttributeArg(name: 'email', value: email),
AttributeArg(name: 'name', value: 'minh'),
AttributeArg(name: 'phone_number', value: '0932919800'),
AttributeArg(name: 'gender', value: 'male'),
]);
print('signUp result: $result');
}
int a, b;
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
Console.WriteLine(a+b);