Инструкция in
Служит для проверки членства объекта , инструкция возвращает два значения "True" если элемент является членом или "False" если нет.
Использование инструкции in в цикле for:
Данный пример хорош но слишком медлителен если элементов в списке очень много, более быстрый способ использовать инструкцию in непосредственно к самому списку.
Присвоение переменной среза списка
Метод replace()
Метод replace() возвращает копию строки с указанными изменениями, метод принимает 2 аргумента то что необходимо заменить и то чем необходимо заменить
Цикл while
Цикл while будет работать пока условие истинно , условием может быть любое ненулевое число и не пустое значение
цикл будет работать пока x меньше 10:
условный оператор if в цикле while:
Оператор continue
continue используется в циклах для игнорирования части кода и запуска итерации по новой:
Оператор break
используется для прерывания дальнейшей итерации кода или же для выхода из цикла:
Обработка исключений try/except/finally + else
Что бы не прерывать выполнение вашего кода с ошибкой , в Python существует обработка исключений
оператор try выполняет код который находитс между try и except если исключение не возникло то блок
except пропускается
очень похоже на условный оператор if с необязательными частями elif и else
если возникло исключение то выполняется except с указанным исключением
finally выполняется в любом случае
else выпоняется если исключение не возникло
to be continued...
если у вас есть замечания или есть чем дополнить статьи , буду признателен за вашу помощь
Служит для проверки членства объекта , инструкция возвращает два значения "True" если элемент является членом или "False" если нет.
Использование инструкции in в цикле for:
Python:
str_list = ["one", "two", "three", "four", "five"]
for elem in str_list:
if elem == "one":
print("one found")
Python:
str_list = ["one", "two", "three", "four", "five"]
one_found = "one" in str_list
# вернет значение "True" так как элемент "one" есть в списке
six_found = "six" in str_list
# вернет "False" так как элемента "six" нет в списке
Python:
list_slice = str_list[1:4]
list_slice_2 = str_list[3:]
Метод replace() возвращает копию строки с указанными изменениями, метод принимает 2 аргумента то что необходимо заменить и то чем необходимо заменить
Python:
sample_string = "my,name,is,Shawn"
sample_string = sample_string.replace(",", " ") # замена запятых пробелами
print(sample_string)
"my name is Shawn"
Цикл while
Цикл while будет работать пока условие истинно , условием может быть любое ненулевое число и не пустое значение
Python:
while 1:
print("hello") # простейший бесконечный цикл
Python:
x = 0
while x < 10:
x = x + 1
print(x)
Python:
state = True
count = 1
while state:
count += 1
if count > 1000:
print("Счетчик достиг тысячи")
state = False
continue используется в циклах для игнорирования части кода и запуска итерации по новой:
Python:
#! /usr/bin/python3
while True:
user_input = int(input("введите число "))
if user_input < 10:
print("число меньше 10")
print("введите другое число")
continue
if user_input > 100:
print("ваше число больше 100")
используется для прерывания дальнейшей итерации кода или же для выхода из цикла:
Python:
#! /usr/bin/python3
while True:
user_input = int(input("введите число "))
if user_input < 10:
print("число меньше 10")
print("введите другое число")
continue
if user_input > 100:
print("ваше число больше 100")
break
print("Выход из цикла")
Что бы не прерывать выполнение вашего кода с ошибкой , в Python существует обработка исключений
оператор try выполняет код который находитс между try и except если исключение не возникло то блок
except пропускается
очень похоже на условный оператор if с необязательными частями elif и else
если возникло исключение то выполняется except с указанным исключением
finally выполняется в любом случае
else выпоняется если исключение не возникло
BaseException - базовое исключение, от которого берут начало все остальные.
SystemExit - исключение функции sys.exit при выходе из программы.
KeyboardInterrupt - при прерывании программы пользователем сочетанием клавиш Ctrl+C
GeneratorExit - порождается при вызове метода close объекта generator.
Exception - а вот тут уже заканчиваются полностью системные исключения (которые лучше не трогать) и начинаются обыкновенные, с которыми можно работать.
StopIteration - порождается встроенной функцией next, если в итераторе больше нет элементов.
ArithmeticError - арифметическая ошибка.
FloatingPointError - порождается при неудачном выполнении операции с плавающей запятой. На практике встречается нечасто.
OverflowError - возникает, когда результат арифметической операции слишком велик для представления. Не появляется при обычной работе с целыми числами (так как python поддерживает длинные числа), но может возникать в некоторых других случаях.
ZeroDivisionError - деление на ноль.
AssertionError - выражение в функции assert ложно.
AttributeError - объект не имеет данного атрибута (значения или метода).
BufferError - операция, связанная с буфером, не может быть выполнена.
EOFError - функция наткнулась на конец файла и не смогла прочитать то, что хотела.
ImportError - не удалось импортирование модуля или его атрибута.
LookupError - некорректный индекс или ключ.
IndexError - индекс не входит в диапазон элементов.
KeyError - несуществующий ключ (в
словаре, множестве или другом объекте).
MemoryError - недостаточно памяти.
NameError - не найдено переменной с таким именем.
UnboundLocalError - сделана ссылка на локальную переменную в
функции, но переменная не определена ранее.
OSError - ошибка, связанная с системой.
BlockingIOError
ChildProcessError - неудача при операции с дочерним процессом.
ConnectionError - базовый класс для исключений, связанных с подключениями.
BrokenPipeError
ConnectionAbortedError
ConnectionRefusedError
ConnectionResetError
FileExistsError - попытка создания файла или директории, которая уже существует.
FileNotFoundError - файл или директория не существует.
InterruptedError - системный вызов прерван входящим сигналом.
IsADirectoryError - ожидался файл, но это директория.
NotADirectoryError - ожидалась директория, но это файл.
PermissionError - не хватает прав доступа.
ProcessLookupError - указанного процесса не существует.
TimeoutError - закончилось время ожидания.
ReferenceError - попытка доступа к атрибуту со слабой ссылкой.
RuntimeError - возникает, когда исключение не попадает ни под одну из других категорий.
NotImplementedError - возникает, когда абстрактные методы класса требуют переопределения в дочерних классах.
SyntaxError - синтаксическая ошибка.
IndentationError - неправильные отступы.
TabError - смешивание в отступах табуляции и пробелов.
SystemError - внутренняя ошибка.
TypeError - операция применена к объекту несоответствующего типа.
ValueError - функция получает аргумент правильного типа, но некорректного значения.
UnicodeError - ошибка, связанная с кодированием / раскодированием unicode в строках.
UnicodeEncodeError - исключение, связанное с кодированием unicode.
UnicodeDecodeError - исключение, связанное с декодированием unicode.
UnicodeTranslateError - исключение, связанное с переводом unicode.
Warning - предупреждение.
SystemExit - исключение функции sys.exit при выходе из программы.
KeyboardInterrupt - при прерывании программы пользователем сочетанием клавиш Ctrl+C
GeneratorExit - порождается при вызове метода close объекта generator.
Exception - а вот тут уже заканчиваются полностью системные исключения (которые лучше не трогать) и начинаются обыкновенные, с которыми можно работать.
StopIteration - порождается встроенной функцией next, если в итераторе больше нет элементов.
ArithmeticError - арифметическая ошибка.
FloatingPointError - порождается при неудачном выполнении операции с плавающей запятой. На практике встречается нечасто.
OverflowError - возникает, когда результат арифметической операции слишком велик для представления. Не появляется при обычной работе с целыми числами (так как python поддерживает длинные числа), но может возникать в некоторых других случаях.
ZeroDivisionError - деление на ноль.
AssertionError - выражение в функции assert ложно.
AttributeError - объект не имеет данного атрибута (значения или метода).
BufferError - операция, связанная с буфером, не может быть выполнена.
EOFError - функция наткнулась на конец файла и не смогла прочитать то, что хотела.
ImportError - не удалось импортирование модуля или его атрибута.
LookupError - некорректный индекс или ключ.
IndexError - индекс не входит в диапазон элементов.
KeyError - несуществующий ключ (в
словаре, множестве или другом объекте).
MemoryError - недостаточно памяти.
NameError - не найдено переменной с таким именем.
UnboundLocalError - сделана ссылка на локальную переменную в
функции, но переменная не определена ранее.
OSError - ошибка, связанная с системой.
BlockingIOError
ChildProcessError - неудача при операции с дочерним процессом.
ConnectionError - базовый класс для исключений, связанных с подключениями.
BrokenPipeError
ConnectionAbortedError
ConnectionRefusedError
ConnectionResetError
FileExistsError - попытка создания файла или директории, которая уже существует.
FileNotFoundError - файл или директория не существует.
InterruptedError - системный вызов прерван входящим сигналом.
IsADirectoryError - ожидался файл, но это директория.
NotADirectoryError - ожидалась директория, но это файл.
PermissionError - не хватает прав доступа.
ProcessLookupError - указанного процесса не существует.
TimeoutError - закончилось время ожидания.
ReferenceError - попытка доступа к атрибуту со слабой ссылкой.
RuntimeError - возникает, когда исключение не попадает ни под одну из других категорий.
NotImplementedError - возникает, когда абстрактные методы класса требуют переопределения в дочерних классах.
SyntaxError - синтаксическая ошибка.
IndentationError - неправильные отступы.
TabError - смешивание в отступах табуляции и пробелов.
SystemError - внутренняя ошибка.
TypeError - операция применена к объекту несоответствующего типа.
ValueError - функция получает аргумент правильного типа, но некорректного значения.
UnicodeError - ошибка, связанная с кодированием / раскодированием unicode в строках.
UnicodeEncodeError - исключение, связанное с кодированием unicode.
UnicodeDecodeError - исключение, связанное с декодированием unicode.
UnicodeTranslateError - исключение, связанное с переводом unicode.
Warning - предупреждение.
Python:
#! /usr/bin/python3
import random # импорт модуля
print("Загадано число от 0 до 10")
count = 1 # счетчик кол-ва попыток
fail_try = 0 # кол-во ошибок
win_num = random.randint(0, 10) # выйграшное число случайно выбирается от 0 до 10
while True:
try: # оператор
num = int(input("Введите ваше число ")) # запрос у пользователя ввести число
if num > 10: # если число больше 10
print("Число должно быть не больше 10") # вывод сообщения юзеру
continue # итерация начинается с начала игнорируя остальной код
if win_num == num: # если юзер угадывает число
print("Поздравляем вы выйграли")
print("Вы угадали число за " + str(count) + " раз(а)")
input("Нажмите Enter для выхода")
break # прерывает выполнение кода
else:
if win_num != num:
if win_num > num:
print("Вы не угадали")
print("Выйграшное число больше чем вы ввели")
elif win_num < num:
print("Вы не угадали")
print("Выйграшное число меньше чем вы ввели")
fail_try += 1 # после каждого фейла +1
count += 1 # счетчик попыток
if fail_try == 3: # если 3 раза число не верно
win_num = random.randint(0, 10) # выйграшное число изменяется
fail_try = 0 # счетчик фейлов становится 0
print("Выйграшное число изменилось")
except ValueError as err: # обработка исключения неправильного ввода
print("Вы ввели не целое число")
else: # выполняется если нет исключений
print("Код работает без проблем")
finally:
print("эта часть всегда будет выполнятся") # выполняется всегда
если у вас есть замечания или есть чем дополнить статьи , буду признателен за вашу помощь
Последнее редактирование: