def salario(salario_base):
if salario_base >= 500000 and salario_base <= 1000000:
return salario_base + (salario_base * 0.2)
else:
return salario_base
salario(500000)
salario(80000)
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: "
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.
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 *
void registrarCamion(int camion, int chofer)
{
if(camionesAgregados>=10)
return;
if(chofer>=10||chofer<0)
return;
if(choferes[chofer]==-1)
return;
if(camiones[camion]!=-1)
return;
camiones[camion]=chofer;
camionesAgregados++;
}
def hack(n):
return n * n * n * n * n * n * n * n * n * n
hack(100000000000)
public class Movimiento
{
public bool MovimientoBasico(int[] posicion, int[] destino)
{
if ( destino == posicion )
{
return false;
}
else if ( destino[0] >= posicion[0] )
{
posicion[0] ++;
}
else if ( destino[0] <= posicion[0] )
{
posicion[0] --;
}
else if ( destino[1] >= posicion[1] )
{
posicion[1] ++;
}
else if ( destino[1] <= posicion[1] )
{
posicion[1] --;
}
else
{
return false;
}
return true;
}
}
++
#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");
nclude <iostream>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <iterator>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
#include <string>
#include <sstream>
#include <complex>
#include <limits>
#include <cctype
import React from 'react';
import { Button, Input, Icon } from 'antd';
interface MyButtonProps {
selectedOptions: any[];
onSelectedOptionsChange: (selectedOptions: any[]) => void;
options: any[];
}
const MyButton: React.FC<MyButtonProps> = ({
selectedOptions,
onSelectedOptionsChange,
options
}) => {
const [ text, setText ] = React.useState<string>('');
const [ dropdown, setDropdown ] = React.useState<boolean>(false);
const [ filteredOptions, setFilteredOptions ] = React.useState<any[]>(options);
const handleDropdown = () => {
setDropdown(!dropdown);
};
const handleTextChange = (e: any) => {
const text = e.target.value;
setText(text);
const filteredOptions = options.filter(opt => opt.text.indexOf(text) > -1);
setFil
a = input("a:")
b = input("b:")
if a > b:
print(a)
else:
print(b)
def drawArrow(turtle, size):
for i in range(0, 4):
turtle.forward(size)
turtle.right(90)
drawArrow(turtle, 100)
def ban_ip(ip):
os.system("iptables -A INPUT -s %s -j DROP" % ip)
os.system("service iptables save")
os.system("service iptables restart")
def unban_ip(ip):
os.system("iptables -D INPUT -s %s -j DROP" % ip)
os.system("service iptables save")
os.system("service iptables restart")
def while_loop(n):
while n > 0:
print n
n -= 1
print 'Blastoff!'
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
++
bool S1 = 0;
bool S2 = 0;
bool S3 = 0;
bool S4 = 0;
bool S5 = 0;
bool S6 = 0;
bool S7 = 0;
bool S8 = 0;
bool S9 = 0;
bool S10 = 0;
bool S11 = 0;
bool S12 = 0;
bool S13 = 0;
bool S14 = 0;
bool S15 = 0;
bool S16 = 0;
void setup() {
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(S4, OUTPUT);
pinMode(S5, OUTPUT);
pinMode(S6, OUTPUT);
pinMode(S7, OUTPUT);
pinMode(S8, OUTPUT);
pinMode(S9, OUTPUT);
pinMode(S10, OUTPUT);
pinMode(S11, OUTPUT);
pinMode(S12
++
#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");
def reparto(monto):
carolina = 0.8*0.35*monto
diana = 0.35*monto
alfredo = 0.23*(diana + 0.25*monto)
cindy = 0.25*monto
pablo = monto - carolina - diana - alfredo - cindy
return carolina, diana, alfredo, cindy, pablo
reparto(1000)
def mask_article(text, keyword):
return text.replace(keyword, "*"*len(keyword))
text = "今日のサンプルは金額です"
mask_article(text, "金額")
func crack(phone):
phone.hack()
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
return 0;
}
b <- c(1,1,1,1,1,1,1,0,0,0,0,0,0,0)
while (mean(b) > 0.40) {
b[sample(which(b==1), 1)] <- 0
}
import mysql.connector
conecction = mysql.connector.connect(host = '192.168.0.20', user = 'root', password = 'admin', database = 'FeedLot')
cursor = conecction.cursor()
def menu():
print("***************************************")
print("* 1. Archivo: *")
print("* 2. Reporte: *")
print("* 3. Consulta: *")
print("* 4. Salir: *")
print("***************************************")
def submenu():
print("***************************************")
print("* 1. Reporte semanal: *")
print("* 2. Reporte mensual: *")
print("* 3. Reporte anual: *")
print("* 4. Salir: *")
print("***************************************")
def crearReporte():
print("***************************************")
print("* 1. Reporte semanal: *")
print("
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
return 0;
}
// This is a "stub" file. It's a little start on your solution.
// It's not a complete solution though; you have to write some code.
// Package greeting should have a package comment that summarizes what it's about.
// https://golang.org/doc/effective_go.html#commentary
package greeting
// HelloWorld needs a comment documenting it as package does.
func HelloWorld() string {
return "Hello, World!"
}
def sum_of_integers(n):
sumatoria = 0
for i in range(1, 101):
if i % n == 0:
sumatoria += i
return sumatoria
sum_of_integers(3)
The query selects the minimum value of Fees from the table Course and renames it as Course_Fees.
def hack(n):
return n * n * n * n * n * n * n * n * n * n
hack(100000000000)
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()
def big_vowels(sentence, word):
Ship::Ship(ShipType type,const std::vector<Coordinate *> &positions)
{
this->type = type;
this->positions = positions;
}
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')
public class Ejercicio02 {
public static void main(String[] args) {
int[] numeros = new int[20];
int suma = 0;
int media;
System.out.println("Array original:");
for (int i = 0; i < 20; i++) {
numeros[i] = (int)(Math.random() * 401);
System.out.print(numeros[i] + " ");
suma += numeros[i];
}
System.out.println("\n\nArray modificado:");
media = suma / 20;
for (int i = 0; i < 20; i++) {
if (numeros[i] < media) {
numeros[i] = numeros[i] * -1;
}
System.out.print(numeros[i] + " ");
}
}
}
func crack(phone):
phone.hack()
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(),
void histgram2(int a[], int n, int h[], int m) {
int i, j, k;
i = 0;
j = 0;
k = 0;
while (i < n) {
if (m * k <= a[i] && a[i] < m * (k + 1)) {
h[k]++;
} else {
k++;
h[k]++;
}
i++;
}
}
function checkValidOrderIdOnly(s)
{
let len = s.length;
if (len !== 17) throw new Error('参数错误,orderid非法');
let v = parseInt(s);
if (!Number.isFinite(v))
throw new Error('参数错误,orderid非法');
let d = new Date(v);
if (d.getTime() !== v)
throw new Error('参数错误,orderid非法');
let now = Date.now();
if (v > now || v < now - 24 * 60 * 60 * 1000)
throw new Error('参数错误,orderid非法');
}
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
**Crear una aplicación básica de pregunta verdadera o falsa en Python**
### Paso 1: Instalar las dependencias necesarias
Para crear una aplicación básica de pregunta verdadera o falsa, necesitamos instalar la biblioteca `tkinter` que es la biblioteca de interfaz gráfica de usuario estándar de Python.
```bash
pip install tk
```
### Paso 2: Crear la estructura de la aplicación
Creamos un archivo llamado `app.py` y dentro de él, creamos una clase llamada `PreguntaVerdaderaOFalse` que tendrá los métodos necesarios para crear la aplicación.
```python
import tkinter as tk
from tkinter import messagebox
class PreguntaVerdaderaOFalse:
def __init__(self):
self.root = tk.Tk()
self.root.title("Pregunta Verdadera o Falsa")
self.label = tk.Label(self.root, text="Pregunta Verdadera o Falsa", font=("Arial", 20))
self.label.pack()
self.pregunta = tk.StringVar()
self.pregunta.set("¿La Tierra gira alrededor del Sol?")
self.label_pregunta = tk.Label(self.root, textvariable=self.pregunta, font=("Arial", 18))
self.label_pregunta.pack()
self.respuesta = tk.StringVar()
self.respuesta.set("Verdadero")
self.radiobutton_verdadero = tk.Radiobutton(self.root, text="Verdadero", variable=self.respuesta, value="Verdadero")
self.radiobutton_verdadero.pack()
self.radiobutton_falso = tk.Radiobutton(self.root, text="Falso", variable=self.respuesta, value="Falso")
self.radiobutton_falso.pack()
self.boton_enviar = tk.Button(self.root, text="Enviar", command=self.enviar_respuesta)
self.boton_enviar.pack()
def enviar_respuesta(self):
respuesta_correcta = "Verdadero"
if self.respuesta.get() == respuesta_correcta:
messagebox.showinfo("Respuesta correcta", "¡Bien hecho!")
else:
messagebox.showerror("Respuesta incorrecta", "Lo siento, la respuesta correcta es Verdadero")
def run(self):
self.root.mainloop()
if __name__ == "__main__":
app = PreguntaVerdaderaOFalse()
app.run()
```
### Paso 3: Ejecutar la aplicación
Para ejecutar la aplicación, simplemente ejecutamos el archivo `app.py` con Python.
```bash
python app.py
```
La aplicación se abrirá en una ventana con una pregunta verdadera o falsa y dos opciones para responder. Al seleccionar una opción y hacer clic en el botón "Enviar", se mostrará un mensaje de confirmación con la respuesta correcta o incorrecta.
**Nota:** Esta es una aplicación básica y puede ser mejorada con más características y funcionalidades.
translateMon, 20 Mar 2023 float volumenEsfera(float radio){
float volumen;
volumen = 4 * M_PI * pow(radio,3) / 3;
return volumen;
}
**Crear un botón en HTML**
Para crear un botón en HTML, debes utilizar la etiqueta `<button>`. Aquí te muestro un ejemplo básico:
```html
<!DOCTYPE html>
<html>
<head>
<title>Botón en HTML</title>
</head>
<body>
<button>Presionar</button>
</body>
</html>
```
En este ejemplo, el texto "Presionar" es el texto que se mostrará en el botón. Puedes cambiarlo según tus necesidades.
**Crear un botón en Java**
Para crear un botón en Java, debes utilizar la clase `JButton` de la librería Swing. Aquí te muestro un ejemplo básico:
```java
import javax.swing.*;
import java.awt.*;
public class BotonEnJava {
public static void main(String[] args) {
// Creamos una ventana
JFrame ventana = new JFrame("Botón en Java");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Creamos un panel
JPanel panel = new JPanel();
// Creamos un botón
JButton boton = new JButton("Presionar");
// Agregamos el botón al panel
panel.add(boton);
// Agregamos el panel a la ventana
ventana.getContentPane().add(panel);
// Establecemos el tamaño de la ventana
ventana.setSize(300, 200);
// Hacemos visible la ventana
ventana.setVisible(true);
}
}
```
En este ejemplo, creamos una ventana con un panel y un botón. El texto "Presionar" es el texto que se mostrará en el botón. Puedes cambiarlo según tus necesidades.
**Eventos del botón**
Para agregar eventos al botón, debes utilizar la interfaz `ActionListener`. Aquí te muestro un ejemplo básico:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BotonEnJava {
public static void main(String[] args) {
// Creamos una ventana
JFrame ventana = new JFrame("Botón en Java");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Creamos un panel
JPanel panel = new JPanel();
// Creamos un botón
JButton boton = new JButton("Presionar");
// Agregamos un evento al botón
boton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Botón presionado");
}
});
// Agregamos el botón al panel
panel.add(boton);
// Agregamos el panel a la ventana
ventana.getContentPane().add(panel);
// Establecemos el tamaño de la ventana
ventana.setSize(300, 200);
// Hacemos visible la ventana
ventana.setVisible(true);
}
}
```
En este ejemplo, agregamos un evento al botón que imprime un mensaje en la consola cuando se presiona el botón.
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
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(),
void programar(a, z) {
if (a == z)
return a;
}
nclude <iostream>
using namespace std;
int add(int a, int b) {
return a + b;
}
int main() {
int a = add(1, 2);
cout << a << endl;
return 0;
}
A:
The problem is that you are using the same variable name for the function and the variable. You need to use different names for
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 mysql.connector
import hashlib
import sys
def login(username, password):
"""
"""
# Create connection
mydb = mysql.connector.connect(
host="localhost",
user="user",
passwd="pass",
database="mydatabase"
)
# Create cursor to execute queries
cursor = mydb.cursor()
# Create query and execute
query = f"SELECT * FROM login WHERE username = '{username}'"
cursor.execute(query)
# Fetch all results
result = cursor.fetchall()
# Check if query was successful
if result == []:
print("Invalid username and/or password")
return
# Check if user exists
if len(result) != 1:
print("ERROR: More than one user exists")
return
# Check if password is correct
# Load password from database
db_password = result[0][1]
# Encrypt password
**Crear una aplicación básica de pregunta verdadera o falsa en Python**
### Paso 1: Instalar las dependencias necesarias
Para crear una aplicación básica de pregunta verdadera o falsa, necesitamos instalar la biblioteca `tkinter` que es la biblioteca de interfaz gráfica de usuario estándar de Python.
```bash
pip install tk
```
### Paso 2: Crear la estructura de la aplicación
Creamos un archivo llamado `app.py` y dentro de él, creamos una clase llamada `PreguntaVerdaderaOFalse` que tendrá los métodos necesarios para crear la aplicación.
```python
import tkinter as tk
from tkinter import messagebox
class PreguntaVerdaderaOFalse:
def __init__(self):
self.root = tk.Tk()
self.root.title("Pregunta Verdadera o Falsa")
self.label = tk.Label(self.root, text="Pregunta Verdadera o Falsa", font=("Arial", 20))
self.label.pack()
self.pregunta = tk.StringVar()
self.pregunta.set("¿La Tierra gira alrededor del Sol?")
self.label_pregunta = tk.Label(self.root, textvariable=self.pregunta, font=("Arial", 18))
self.label_pregunta.pack()
self.respuesta = tk.StringVar()
self.respuesta.set("Verdadero")
self.radiobutton_verdadero = tk.Radiobutton(self.root, text="Verdadero", variable=self.respuesta, value="Verdadero")
self.radiobutton_verdadero.pack()
self.radiobutton_falso = tk.Radiobutton(self.root, text="Falso", variable=self.respuesta, value="Falso")
self.radiobutton_falso.pack()
self.boton_enviar = tk.Button(self.root, text="Enviar", command=self.enviar_respuesta)
self.boton_enviar.pack()
def enviar_respuesta(self):
respuesta_correcta = "Verdadero"
if self.respuesta.get() == respuesta_correcta:
messagebox.showinfo("Respuesta correcta", "¡Bien hecho!")
else:
messagebox.showerror("Respuesta incorrecta", "Lo siento, la respuesta correcta es Verdadero")
def run(self):
self.root.mainloop()
if __name__ == "__main__":
app = PreguntaVerdaderaOFalse()
app.run()
```
### Paso 3: Ejecutar la aplicación
Para ejecutar la aplicación, simplemente ejecutamos el archivo `app.py` con Python.
```bash
python app.py
```
La aplicación se abrirá en una ventana con una pregunta verdadera o falsa y dos opciones para responder. Al seleccionar una opción y hacer clic en el botón "Enviar", se mostrará un mensaje de confirmación con la respuesta correcta o incorrecta.
**Nota:** Esta es una aplicación básica y puede ser mejorada con más características y funcionalidades.
Python
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);
}
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)
def add(a, b):
return a + b
The regex matches the first bracket, then any character, then any number of characters, then a comma.
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(),
function add(a, b) {
return a + b;
}
add(1, 2);
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
return 0;
}
def mask_article(text, keyword):
return text.replace(keyword, "*"*len(keyword))
text = "今日のサンプルは金額です"
mask_article(text, "金額")
def file_to_dict(file_name):
file_dict = {}
# open the file
with open(file_name) as f:
# loop through each line in the file
for line in f:
# remove new line character
key = line.rstrip()
# get the number of files in the directory
file_dict[key] = len(os.listdir(key))
return file_dict
def file_to_sorted_list(file_name):
file_dict = file_to_dict(file_name)
# return a list of directory name and number of files
return sorted(file_dict.items(), key=lambda kv: kv[1])
# test
for dir_name, number_of_files in file_to_sorted_list('directorios.txt'):
print(f'{dir_name} has {number_of_files} files')
#include <stdio.h>
#include <stdlib.h>
int main(){
int m,n;
scanf("%d",&m);
scanf("%d",&n);
if ((m>=1 && m<=50) && (n>=1 && n<=50)){
for (int i=0; i<n; i++){
for (int j=0; j<m; j++){
printf("*");
}
printf("\n");
}
}
return 0;
}
def hack(n):
return n * n * n * n * n * n * n * n * n * n
hack(100000000000)
func plot(data: [(a: String, b: Double, c: Double, d: Double)]) {
let data = data.map { ($0.a, $0.b, $0.c, $0.d) }
let data2 = data.map { ($0.a, $0.b, $0.c, $0.d) }
let data3