Напишите программу, которая проверяет, верно ли что пользователь ввел электронную почту.
Выходные данные:
С клавиатуры вводится одна строка - электронная почта.
Вывести "Почта введена верно" если в строке есть знак "@" и ".".
Вывести "Отсутствует @" если нет соответствующего символа.
Вывести "Отсутствует ." если нет соответствующего символа.
Вывести "Отсутствует @ и ." если нет соответствующих символов.
Пример:
podlev@gmail.com
Почта введена верно
a=str(input())
if "@" in a and "." in a:
print('Почта введена верно')
elif not "@" in a and "." in a:
print("Отсутствует @")
elif not "." in a and "@" in a:
print("Отсутствует .")
elif (not "@" in a) and (not "." in a):
print("Отсутствует @ и .")
С клавиатуры вводятся строки, до тех пор пока не будет введена верная почта.
text=False
while text==False:
a=str(input())
if "@" in a and "." in a:
print('Почта введена верно')
text=True
elif not "@" in a and "." in a:
print("Отсутствует @")
elif not "." in a and "@" in a:
print("Отсутствует .")
elif (not "@" in a) and (not "." in a):
print("Отсутствует @ и .")
Особенности вывода в цикле
Для того, чтобы организовать вывод в цикле не отдельно на каждой строке, а например выводить значения переменной через пробел, можно воспользоваться возможностями функции print.
print(value, ..., sep=' ', end='\n')
Как видим, кроме значение value, у функции есть два аргумента, которые заданы по умолчанию.
sep — разделитель выводимых значений(по умолчанию это пробел) и end — то, что будет выведено, когда все значения уже выведутся (по умолчанию это переход на новую строку). Если их изменить, то можно изменить вывод.
Например:
for i in range(10):
print(i, end=' ')
# программа выведет 0 1 2 3 4 5 6 7 8 9
True False
Для управления циклами также можно безопасно использовать флаги.
Флаг - это переменная которой присвоено логическое значение True или False (истина или ложь).
flag = True
while flag:
x = int(input())
if x < 0:
flag = False
print(x)