-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTiposDatos.py
315 lines (217 loc) · 9.31 KB
/
TiposDatos.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
"""VARIABLES:Lo ideal es declara e inicializar las variables."""
# En python, podemos asignar una variable otra Variable diferente.
# var = "Hola mundo";
# var2 = var;
# print(var2);
# la variable var y var2 apuntan a misma cadena de texto Hola mundo.
#Los nombres de las variables en Python pueden tener cualquier longitud y
#pueden consistir en letras mayusculas y minisculas (A-Z, a-z), dígitos (0-9) y
#el carácter de subrayado(_). Cualquier otro carácter dará error:
# var&= "Hola mundo";
# Aunque el nombre de una variable puede contener dígitos, el primer carácter de
# un nombre de variable no puede ser un dígito.
# declaracion de variable numerica
# 2var="Hola mundo"; invalidado decimal literal
# El nombre de las variables en Python es sensible a Mayúsculas y minúsculas
#Var3= "Hola mundo"
# print(var3); #Error, no se encuantra la var3
# Declaración de una variable numérica entera:n_edad = 49
#Para verificar el tipo de cualquier objeto en Python, usamos la función type() :print(type(n_edad))
# print(type(n_numero_2))
#print(type(s_nombre)) # type: ignore
# print(type(NUMEROPI))
# print(type(is_verdadero))
# print(type(is_casado))
# Declaración de variable numérica de coma flotante:n_numero_2 = -23.5245
# Declaración de variable de tipo string:s_nombre = 'Manolo es "amigo" mío'
#Declaración de variable de tipo string en varias líneas:
#s_textoLargo = """Esto es un mensaje...con tres saltos...de linea"""
# Sobreescribimos el valor de la variables_edad y ahora la ponemos como string:s_edad = "47"
# Declaración de constante:
NUMEROPI = 3.14159
# Declaración de un boolean is_verdadero = True ;is_casado = False
# True = 1 y False = 0 True == 1; False == 0;
print(True + 2)
# Cuando se valida una condición , Python devuelve True o False:
# print(10 > 9); print(10 == 9);print(10 < 9)
# Declaración múltiple En una sola instrucción,
# estamos declarando tres variables: a, b y c, y asignándoles un valor concreto a cada una.
#a, b, c = 'string', 15, True
# Sería como poner:a = 'string';b = 15;c = True
#Casting
#Forzado de tipo, CASTING:
# Forzado de tipo Enteros: y = int(2.8)
X = int(1)
Z = int("3")
# Forzado de tipo Float:
X = float(1)
y = float(2.8)
float("3")
float("4.2") # w Valdra 4.2
# Forzado de tipo string:y = str(2)
X = str("s1")
str(3.0)
# CASTING. Reconversión de tipos
# Casting de int a float:n_numero = 13
#n_numero_2 = float(n_numero)
# Casting de float a int:n_numero_3 = 24.876; n_numero_4 = int(n_numero_3)
# Casting de string a int s_texto = "13"; n_numero_5 = int(s_texto)
# Casting de int a string n_numero_6 = 27; s_texto_2 = str(n_numero_6)
#print(n_numero_2)
#print(type(n_numero_2))
#print(n_numero_4)
#print(type(n_numero_4))
#print(n_numero_5)
#print(type(n_numero_5))
#print(s_texto_2)
#print(type(s_texto_2))
#COMENTARIOS
# comentarios son anotaciones que pondremos en nuestro código que el programa no va a tener en cuenta.
# Existen dos tipos de comentarios:
# Esto es un comentario de una línea a esto es un comentarto de und tan
#"""es un comentario que me va a ocupar varias lineas"""
# Metodos de los strings
# TRABAJAR CON STRINGS
#Los strings son secuencias de caracteres de texto.
#Todos los objetos en Python se englobanen dos categorias: mutables o inmutables.Los tipos basicos mutables son las listas, los diccionarios y los sets.Los tipos basicos inmutables son los numeros, los strings y las tuplas. Los objetos mutables pueden ser cambiados en el mismo objeto, mientras que los inmutables no.
# Para concatenar textos se hace con "+" o simplemente con una coma.
# Si ponemos coma nos pone entre los textos un espacio, con + no lo hace.
print("Esta frase" , "termina aqui.")
print("Esta frase " + "termina aqui.")
# Contatenación y multiplicación de strings: a = "uno"; b = "dos" ;c= a + b # c es "unodos"
# c = a * 3 # c es "unounouno"
#
# ------------------------
# MÉTODOS DE LOS STRINGS:
# lower(): Convierte en minúsculas un string.
#s_texto1 = "ESTE TEXTO ESTA INICIALMENTE EN MAYÚSCULAS"
#print(s_texto1. lower())
#capitalize(): Pone la primera letra en mayúscula.s_texto2 = "este texto no tenia la primera letra en mayúsculas"print(s_texto2.capitalize())
#count(): Cuenta cuantas veces aparece una letra o una cadena de caracteres.s_texto3 = "Vamos a ver cuantas veces aparece la letra c"print(s_texto3.count('c'))
#find(): Representa el indice o la posición en el cual aparece un caracter o un grupo de caracteres. Si aparece varias veces me dice sólo el primero.s_texto4 = "Vamos a ver en que posicion aparece primero la letra e"print(s_texto4.find('e'))
# rfind(): Igual que find() pero contando desde atrás.s_texto5 = "Vamos a ver en qué posición aparece la palabra desde, contando desde atrás"print(s_texto5.rfind('desde'))
# isdigit(): Devuelve un boolean, nos dice si el valor introducido es un string. Tiene que ser un valor introducido entre comillas o dará error.
# s_texto6 = "6"; print(s_texto6.isdigit())
# isalum(): Devuelve un boolean,Devuelve verdadero si todos los caracteres de la cadena son numéricos y hay al menos un carácter. En caso contrario, devuelve falso.
# s_texto7 = "9857654gf7"
# print(s_texto7.isalnum())
# isalpha(): Devuelve un boolean,comprueba si hay sólo letras. Losespacios no cuentan.
#s_texto8 = "Holamundo"
#print(s_texto8.isalpha())
# split(): Separa por palabras utilizando espacios. Crea una lista.
#s_texto9 = "Vamos a separar esta frase por los espacios"
#print(s_texto9.split())
# Podemos usar otro carácter como separador, por ejemplo una coma:
#s_texto10 = "Esta sería la primera parte,y esta la segunda"
# print(s_texto10.split(","))
# strip(): Borra los espacios sobrantes al principio y al final.
# s_texto11 = " En este texto había espacios al principio y al final "
# print(s_texto11.strip())
# replace(): Cambia una palabra o una letra por otra.
#s_texto12 = "Vamos reemplazar la palabra casa"
#print(s_texto12.replace("casa", "hogar"))
# Te invito a que inspecciones el resto de funciones predefinidas para los strings en:
# https://www.freecodecamp.org/espanol/news/metodos-de-string-de-pythonexplicados-con-ejemplo/
# Salida de datos .print()
#Salida de directa de datos
print("En esta ocasión hemos imprimido por pantalla este string")
#Salida de datos calculados:
#n_numero_1 = 4
#n_numero_2 = 6
#print("El resultado de sumar" ,
#n_numero_1, "y" , n_numero_2 , "es" ,
#(n_numero_1+n_numero_2))
#Si concatenamos int y strings usando el signo + nos puede dar problemas.
#print("El resultado de sumar " + n_numero_1 + " y " + n_numero_2 + " s "+ (n_numero_1+n_numero_2))
print("El resultado de sumar" + " " + "los numeros")
# Entrada de datos .input()
s_nombreIntroducido = input("Introduzca su nombre: ")
print("Bienvenido", s_nombreIntroducido)
# -------------------------------------
#IMPORTANTE: Todo lo introducido porinput() se considera string,""""""
#aunque sea un número,por lo que, si necesitamos operar matemáticamente con números tendremos que hacer un casting:
s_edad = int(input("Introduzca su edad:"))
print("El año que viene tendrá usted ",
s_edad + 1, "años")
# Operadores
# Módulo. Nos devuelve el resto de una división:
#n_numerador = 85
#n_denominador = 9
#n_resto = n_numerador%n_denominador
# print("El resto de dividir" , n_numerador, "entre" , n_denominador ,"es" , n_resto)
# == Igual que...
# No confundir con el operador de asignación =
# Con = le damos un valor a una variable. Con == comprobamos si dos objetos son iguales.
#n_numero1 = 34
#s_texto1 = "34"
#n_numero1 == s_texto1
#n_numero2 = 34
#n_numero3 = 34
#n_numero2 == n_numero3
# != Diferente que...
#
# n_numero4 = 34
# n_numero5 = 34
# n_numero4 != n_numero5
# += Suma e incremento
#n_numero6 = 34
#n_numero6 += 1 #Sería como poner:
#n_numero6 = n_numero6 + 1
#print(n_numero6)
#----------------------------------
# Operadores lógicos
#a = True
#b = False
#resultado = a and b
# print(resultado)
#resultado = a or b
# print(resultado)
#resultado = not a
#print(resultado)
#----------------------------------
# Sintaxis simplificada para varios operadores lógicos
edad = int(input('Introduce tu edad: '))
#veintes = edad >= 20 and edad < 30
#print(veintes)
#treintas = edad >= 30 and edad <40
#print(treintas)
# if ( 20 <= edad < 30) or (30 <= edad <40):print('Dentro de rango 20\'s) o (30\'s)')
# if veintes:
# print('Dentro de los 20\'s')
# elif treintas:
# print('Dentro de los 30\'s')
# else:
# print('Fuera de rango')
# else:print("No está dentro de los 20's ni30's")
#Objetos mutables e inmutables
# Obtener la dirección de memoria de una variable a = 65
# print("La dirección de memoria es" , id(a))
# Obtener la dirección de memoria de una variable que apunta a otra miNumero = 65
#miNumero2 = miNumero
#print("La dirección de memoria es" ,
#id(miNumero))
#print("La dirección de memoria es" ,
#id(miNumero2))
# Si cambio la variable, realmente creo una copia en otra dirección de memoria:
#a = 65
#print("La dirección de memoria es" ,
#id(a))
#a+=2
#print("La dirección de memoria es" ,
#id(a))
# Obtener la dirección de memoria de una tupla
a = (1, 2, 3, 4, 5)
# print("La dirección de memoria es" ,
# id(a))
# Obtener la dirección de memoria de una lista
a = [1, 2, 3, 4, 5]
print("La dirección de memoria es" ,
id(a))
# Obtener la dirección de memoria de un diccionario
a = {'a': 1, 'b': 2}
print(a)
print("La dirección de memoria es" ,id(a))
a["c"] = 3
print(a)
# print("La dirección de memoria es" ,
# id(a))