Python - Duda sobre and

 
Vista:
sin imagen de perfil
Val: 16
Ha disminuido su posición en 8 puestos en Python (en relación al último mes)
Gráfica de Python

Duda sobre and

Publicado por Sergio (11 intervenciones) el 13/08/2018 18:31:22
Hola, tengo un script el cual es este:

1
2
3
4
5
6
7
8
9
10
11
12
contador=0
Email=input("Introduce tu email: ")
 
for a in Email:
 
	if(a=="@" or a=="."):
		contador=contador+1
 
if contador==2:
	print("Email correcto")
else:
	print("Email incorrecto")

El caso es que en el if del bucle for puse un "and" y cuando introducía el valor de Email, añadía un gmail con @ y el punto: [email protected]

Me tendría que decir el programa que el gmail estaba bien con el "and", pero no fue así. Cambié el "and" por un "or" y al final me dijo que estaba bien.

Se supone que con el "and" me tendría que decir que el email estaba bien, ya que con "and" declaro que si "a" tiene "@" y "." se suma 1 al contador; y con "or" declaro que si "a" tiene "@" o "." sume 1. Yo quiero que el email tenga "@" y "." Y no quiero que email tenga "@" o "."
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Duda sobre and

Publicado por dario (185 intervenciones) el 14/08/2018 06:18:52
Hola, tienes un error de logica que dejo las tablas de verdad del AND y OR

Tabla de verdad AND
-----------------------------
T --> T = T
T --> F = F
F --> T = F
F --> F = F
Como te das cuenta AND es verdadero cuando las dos condiciones son verdaderas.

Tabla de verdad OR
-----------------------------
T --> T = T
T --> F = T
F --> T = T
F --> F = F
Para OR es falso cuando las dos condiciones son falsas.

Mira tu codigo y emplea las tablas y veras porque no funciona con AND.

Salu2,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Santiago
Val: 37
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Duda sobre and

Publicado por Santiago (13 intervenciones) el 15/08/2018 10:58:05
Hola:

En esos casos debes pensar:

AND - Se tienen que cumplir los dos.
OR - Basta con que se cumpla uno de ellos.

a=8
b=9

if (a>8) and (b>8):
# 'a' no es mayor que 8 Y b sí es mayor que 8 pero deberían cumplirse los dos, por lo que no se cumple el if.

if(a>8) or (b>8):
# 'a' no es mayor que 8 Y b sí es mayor que 8. Como se cumple uno de ellos, se cumple el if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar