Привет всем дорогие друзья или просто гости нашего форума! В этой части мы разберем циклы из прошлой части на примере д/з которое я вам задал. Также начнем изучение функций.
В этом задании вы должны были написать своего очень очень простого чат бота.
Давайте составим алгоритм его работы.
Как мы знаем, цикл выполняется пока заданное условие возвращяет True. Из этого и составляем начало нашего кода
Далее получаем какое-либо сообщение от пользователя.
И самая огромная часть (3 и 4) if-elif-else.
Можете дополнить его. Например задать имена.
Задание 2.
Те кто справился с этим заданием - молодцы) А теперь разберем самое простое решение.
Алгоритм:
1. Создаем пустые списки.
2. Сделаем так, чтобы мы могли добавлять значения.
Для этого спросим сначала что будет вводить пользоваталь(имя, фамилию, возраст) а потом само значение.
И подставим в нужный список.
3. Давайте добавим в этот пунк возможность проверки на наличае в бд) Чтоб все знания о списках из прошлой части проверить.
И все вместе получаем
Задание 3.
Самое простое задание. Его даже пояснять не нужно. Но для тех кто не понимает код ниже
Чтобы создать функцию используют следующую конструкцию
x - это параметр функции.
Для начала же разберем функции без параметров. Представим себе, что нам требуется выполнить какие-то действия по выбору. Например выбрать опцию. И при выборе той или иной опции будет задействована определенная функция.
Мы создали функцию. Но стоит понимать, что на экране не появится надпись "Hi, codeby!" пока мы не вызовим функцию. А вызвать ее очень просто
Нельзя вызывать функцию до определения! Это приведет к ошибке!
По русски вся запись будет выглядеть так
Переменные которые были определены в функции нельзя использовать в остальном коде!
Т.е. функция из себя представляет своеобразный контейнер с кодом который не выполнится, пока не вызовешь этот самый контейнер.
return - фозвращяет значение. Используется только в теле функции.
И получаем
Например
В этом коде у пользователя спрашивают какую матиматическую операцию он хочет провести. И создаются две функции которые спрашивают у пользователя значения x и y. Далее используя return выводят на экран значения.
Также в функциях можно использовать параметры. Параметры будут переданы функции. Например
И выведет
Подробно про функции и параметры функций в следующей части)
Задание 2. *
Заданее 3. *
Заданее 4. *
Заданее 5. *
[1] -- Часть 1
[2] -- Часть 2
[3] -- Часть 3
[4] -- Часть 4
[5] -- Часть 5
Разбор д/з.
Задание 1.
В этом задании вы должны были написать своего очень очень простого чат бота.
Давайте составим алгоритм его работы.
1. Создаем бесконечный цикл.
2. Получаем какое-либо сообщение от пользователя.
3. Ветвлением if-elif-else ищем нуж
ный ответ.
4. Выводим ответ пользователю.
Как мы знаем, цикл выполняется пока заданное условие возвращяет True. Из этого и составляем начало нашего кода
Код:
while True:
...
Далее получаем какое-либо сообщение от пользователя.
Код:
while True:
msg = input("> ")
И самая огромная часть (3 и 4) if-elif-else.
Код:
while True:
msg = input("> ")
if msg == "":
msg = input("> ")
elif msg == "Привет":
print("И тебе привет)")
elif msg == "Codeby":
print("Отличный форум!!!")
...
else:
print("К сожалению бот не нашел ответа ;(")
Можете дополнить его. Например задать имена.
Задание 2.
Те кто справился с этим заданием - молодцы) А теперь разберем самое простое решение.
Алгоритм:
1. Создадим несколько пустых списков.
2. Добавим в нашу программку возможность добавления(товтология) значений.
3. Добавим возможность вывода определенного элемента.
1. Создаем пустые списки.
Код:
name = []
fname = []
age = []
2. Сделаем так, чтобы мы могли добавлять значения.
Для этого спросим сначала что будет вводить пользоваталь(имя, фамилию, возраст) а потом само значение.
Код:
var1 = input("N(name), F(fname), A(age) --> ")
var2 = input("Значение --> ")
И подставим в нужный список.
Код:
if var1 == "N":
name.append(var2)
elif var1 == "F":
fname.append(var2)
elif var1 == "A":
age.append(var2)
else:
print("Не правильный параметр!")
3. Давайте добавим в этот пунк возможность проверки на наличае в бд) Чтоб все знания о списках из прошлой части проверить.
Код:
var3 = input("Элемент --> ")
if var3 in name:
print("Данный элемент находится в списке - name\n")
x = name.index(var3)
print("Интекс элемента -- ", x)
elif var3 in fname:
print("Данный элемент находится в списке - fname\n")
x = fname.index(var3)
print("Индекс элемента -- ", x)
elif var3 in age:
print("Данный элемент находится в списке - age\n")
x = age.index(var3)
print("Индекс элемента -- ", x)
else:
print("Нет в базе!!!")
И все вместе получаем
Код:
# -*- coding:utf- 8 -*-
name = []
fname = []
age = []
var1 = input("N(name), F(fname), A(age) --> ")
var2 = input("Значение --> ")
if var1 == "N":
name.append(var2)
elif var1 == "F":
fname.append(var2)
elif var1 == "A":
age.append(var2)
else:
print("Не правильный параметр!")
var3 = input("Элемент --> ")
if var3 in name:
print("Данный элемент находится в списке - name\n")
x = name.index(var3)
print("Интекс элемента -- ", x)
elif var3 in fname:
print("Данный элемент находится в списке - fname\n")
x = fname.index(var3)
print("Индекс элемента -- ", x)
elif var3 in age:
print("Данный элемент находится в списке - age\n")
x = age.index(var3)
print("Индекс элемента -- ", x)
else:
print("Нет в базе!!!")
Задание 3.
Самое простое задание. Его даже пояснять не нужно. Но для тех кто не понимает код ниже
Код:
while True:
text = input("> ")
listext = list(text)
print(listext[0]*3)
Функции.
Функции предстовляют собой кусок кода, который мы можем использовать во всей нашей программе когда нам это понадобиться.
Чтобы создать функцию используют следующую конструкцию
Код:
def function_name(x):
какие-либо действия
x - это параметр функции.
Для начала же разберем функции без параметров. Представим себе, что нам требуется выполнить какие-то действия по выбору. Например выбрать опцию. И при выборе той или иной опции будет задействована определенная функция.
Код:
def func():
print("Hi, codeby!")
Мы создали функцию. Но стоит понимать, что на экране не появится надпись "Hi, codeby!" пока мы не вызовим функцию. А вызвать ее очень просто
Код:
func()
Нельзя вызывать функцию до определения! Это приведет к ошибке!
По русски вся запись будет выглядеть так
Код:
ОПРЕДЕЛИТЬ ФУНКЦИЮ с именем func() и записать в ней следующие действия
ВЫВЕСТИ "Hi, codeby!"
вызвать func()
Переменные которые были определены в функции нельзя использовать в остальном коде!
Т.е. функция из себя представляет своеобразный контейнер с кодом который не выполнится, пока не вызовешь этот самый контейнер.
return - фозвращяет значение. Используется только в теле функции.
Код:
def num():
x = 31
return x
num()
Код:
31
Например
Код:
matan = input("Сложение(S), Вычитание(R) -> ")
def sum():
x = int(input("Enter x -> "))
y = int(input("Enter y -> "))
return x + y
def razn():
x = int(input("Enter x -> "))
y = int(input("Enter y -> "))
return x - y
if matan == "S":
sum()
elif matan == "R":
razn()
else:
print("Error!")
В этом коде у пользователя спрашивают какую матиматическую операцию он хочет провести. И создаются две функции которые спрашивают у пользователя значения x и y. Далее используя return выводят на экран значения.
Также в функциях можно использовать параметры. Параметры будут переданы функции. Например
Код:
def matan(x, y):
print(x*y)
matan(2, 3)
И выведет
Код:
6
Подробно про функции и параметры функций в следующей части)
Задание 1
Попробуйте написать свою функцию. Обсалютно любую. Это задание для совсем только начинающих.
Задание 2. *
Используйте функции в задании 2 описанном мной в начале статьи.
Заданее 3. *
Используя функции, напишите простой консольный калькулятор.
Заданее 4. *
Напишите функцию для вычисления факториала.
Факториал числа это произведение всех чисел до него(как-то так).
т.е. факториал 3 = 1*2*3 = 6
(Тем кто знаком с функциями)
Заданее 5. *
Напишите функцию, которая кодирует слово написаное вами числами.
input >> abcd
output >> 1234
[1] -- Часть 1
[2] -- Часть 2
[3] -- Часть 3
[4] -- Часть 4
[5] -- Часть 5