Similar presentations:
Несколько значений: порядок, пропуск и цепочка print
1.
Python · 6–7 классЗанятие 2
Несколько
значений
Порядок, пропуск и цепочка print · цепочки отрицаний
print(c, b, a)
print(a, c)
end=' и '
2.
План на сегодняЧЧЧЧЧЧ ЧЧЧЧ ЧЧЧЧЧЧЧ
1
2
3
4
Цепочки
подсказок
Несколько
значений
ЧЧЧЧЧЧЧ
Решаем вместе
Подсказка не называет
Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч,
«хлеб, молоко и сыр» из
Предскажи, найди
ответ — она отсекает
ЧЧЧЧЧ ЧЧЧЧЧЧЧ
двух print
ошибку, призёры и
варианты
доклады
3.
1ЧЧЧЧЧЧЧ
ЧЧЧЧЧЧЧЧЧ
Ни одна подсказка не называет ответ прямо
Докажи, что иначе нельзя
4.
НапоминаниеПодсказка не называет — она отсекает
Занятие 1 — прямая подсказка
Ч Ч Ч Ч Ч Ч Ч — Ч Ч Ч Ч Ч Ч Ч Ч Ч-Ч Ч Ч Ч Ч Ч Ч
«Вика на втором месте»
«Между Ваней и Мишей — двое»
→ сразу ставим «+ » —ответ за один шаг
!
→ о о о о о о о о 4 о о о о о о о о — нужна
подс
к
а
з
к
а
Нашёл ответ — докажи, что по-другому быть не может.
5.
М1Заезд · разбираем вместе
Ваня, Дима, Катя, Лена и Миша финишировали первыми пятью (1 — быстрее всех, 5 —
последний). Кто на каком месте?
1
Катя финишировала сразу после Вани
2
Дима финишировал раньше Лены, а Лена —раньше Миши
3
Между Ваней и Мишей —ровно два человека
?
Вопрос: какая подсказка говорит, сколько мест между? С неё и начнём.
6.
М1Разбор · шаг 1
«Ч Ч Ч Ч Ч — Ч Ч Ч Ч Ч Ч Ч Ч Ч »: 4 Ч Ч Ч Ч Ч Ч Ч Ч
1
2
3
4
вар. 1
Ваня
ЧЧЧЧ
вар. 2
Миша
Ваня
вар. 3
Ваня
5
1
Между Ваней и Мишей двое → их места
через три
2
Перед Мишей стоят Дима и Лена →
Миша не 1-й и не 2-й
✗
ЧЧЧЧ
ЧЧЧЧЧЧЧЧ 2 ЧЧЧЧЧЧЧЧ
вар. 4
Миша
ЧЧЧЧ
✗
«Между» не называет никого — оно сужает до нескольких вариантов, а не до одного.
7.
М1Разбор · шаг 2
Проверяем оба варианта до конца
вар. 1
вар. 2
Ваня
Катя
Миша
1
2
3
4
5
Дима
ВВВВ
Катя
Лена
ВВВВ
1
2
3
4
5
✗
Дима и Лена — оба раньше Миши, а
до 4-го свободно только 3-е
✓
Свободны 1 и 4: Дима раньше Лены
Каждый оставшийся вариант проверяем до конца —лишний ломается сам.
8.
М1оооооооооооооо
ЧЧЧЧЧ — Ч ЧЧЧЧЧЧ ЧЧЧЧЧ ЧЧЧЧЧЧ
1
2
3
4
5
ЧЧЧЧ
Ваня
ЧЧЧЧ
Лена
Миша
120
все расстановки пятерых
→
24
П
«между Ваней и Мишей —двое»
4
→
«Дима раньше Лены, Лена раньше
Миши»
1
«Катя сразу после Вани»
Докажи:ВВВВВВ ВВВВВВВВВ ВВВВВВВВ ВВВВ ВВВВВВВВ —В ВВВВВ ВВВВВВВ
9.
М2Питомцы · решаю сам
У Ани, Бори, Веры, Гриши и Даши — по одному питомцу: кот, собака, попугай, хомяк,
рыбки. У кого кто?
1
Ни у Ани, ни у Бори, ни у Веры нет ни рыбок, ни хомяка
2
У Гриши нет рыбок
3
У Ани нет кота
4
У Бори нет попугая
5
У Бори нет кота
?
Заметь: ни одна подсказка не говорит «есть» —только «нет».
10.
М2Разбор · таблица
ЧЧЧЧЧЧЧЧЧ ЧЧЧЧЧЧЧ ЧЧ ЧЧЧЧЧ
ЧЧЧ
Боря
ЧЧЧЧ
кот
собака
попугай
хомяк
рыбки
Ч
−
+
−
−
−
+
+
−
−
−
−
−
1
Хомяк и рыбки — не у Ани, Бори, Веры
2
У Гриши нет рыбок → рыбки у Даши
3
ЧЧЧ ЧЧ ЧЧЧЧЧ ЧЧЧ ЧЧЧЧ ЧЧ ЧЧЧЧЧ
4
У Бори нет кота и попугая → собака
5
У Ани нет кота → попугай. Вере — кот
Ч
Ч
Гриша
−
−
Ч
+
−
Даша
−
Ч
−
Ч
+
11.
М2Доказательство
ВВВ ВВВВ ВВВВВВВВВ ВВВВВ
Аня
попугай
Боря
собака
Вера
кот
Гриша
хомяк
Даша
рыбки
ВВВВВ ВВВВ ВВВВВВВВВ —ВВВВВВВ ВВВВВВ ВВВВВВВ?
без 1-й
без 2-й
без 3-й
без 4-й
без 5-й
46
2
2
2
3
Ни одного «есть» —ответ появляется, только когда сложены все пять «нет».
12.
М3Доклады · решаю сам
Ева, Захар, Костя, Люба и Ира выступали с докладами по очереди, с 1-го по 5-й. Кто каким
каким выступал?
1
ВВВВВ ВВВВВВВВ ВВВВВВ ВВВВВ
2
ВВВВВ ВВВВВВВВ ВВВВВВ ВВВ
3
Между Евой и Любой —ровно два человека
4
Между Захаром и Костей —ровно два человека
?
ВВВВВВ: ВВВ ВВВВ ВВ ВВВВВВВ ВВ ВВВВВВВ ВВ ВВВВВ? ВВВ ВВВВВ ВВВВВ ВВВ
13.
В3Разбор · шаг 1
Снова «между»: 4 варианта → 1
1
2
3
4
вар. 1
ВВВВВ
Костя
вар. 2
Костя
Захар
5
✗
вар. 3
ВВВВВ
Костя
✗
о о о. 4
Костя
Захар
✗
1
Между Захаром и Костей двое → 4
варианта
2
ВВВВВ ВВВВВВ ВВВВВ → ВВВ. 2 В
ВВВВВВВВ
3
Костя раньше Евы: Костя 5-й —Еве места
места нет
Тот же приём, что в М1: «между» даёт несколько вариантов, следующие подсказки их отсекают.
14.
Ч3Разбор · шаг 2
Достраиваем — и находим Иру
Захар
Люба
Ира
ЧЧЧЧЧ
Ева
1
2
3
4
5
1
Ева позже Кости (4-го) → Ева 5-я
2
Между Евой и Любой двое, Ева 5-я → Люба 2-я
3
Про Иру —ни слова. Её место —последнее свободное
О ком не сказано ничего— ВВВВ ВВВВВВ ВВВВВВВВВ ВВВВ: ВВВ ВВВВВ ВВВВВВВВВ ВВ
15.
М3Доказательство
Цепочка из четырёх звеньев
1
2
3
4
5
Захар
Люба
Ира
Костя
Ева
120
все расстановки
П
24
→
«между Захаром и Костей
—двое»
12
«Захар раньше Кости»
П
2
→
«ВВВВВ ВВВВВВ ВВВ»
Ответ — не одно действие, а цепочка: каждое звено держится на предыдущем.
1
«между Евой и Любой —
двое»
16.
2ЧЧЧЧЧЧЧЧЧ
ЧЧЧЧЧЧЧЧ
Читаем много — печатаем как нужно
Прочитать ≠ напечатать
17.
Приём 1Печатаем в любом порядке
poryadok.py
a = input()
a
b
c
'утро'
'день'
'вечер'
b = input()
c = input()
print(c)
print(b)
print(a)
на экране:
вечер
день
утро
← c
← b
← a
ВВВ ВВВВВВВВВВ—ВВВВВВ ВВВ: ВВВВВВВВВ ВВВВВВ ВВ «ВВВВВ ВВ ВВВВВ», В
18.
Приём 2Прочитать —не значит напечатать
propusk.py
a = input()
a
b
c
'утро'
'день'
'вечер'
b = input()
прочитан, но не нужен
c = input()
print(a, c, sep=', ')
программа напечатала:
утро, вечер
ВВВВВВ ВВВВВВВВ ВВВВВВ ВВВВВ В ВВВВВ ВВВВВВВВВВ —В В ВВВВВ ВВ ВВВВ.
19.
Частая ошибкаВ ВВВВ ВВВВВВ ВВ ВВВВВВ ВВВВВ?
oshibka.py
a = input()
a
c
'утро'
'день'
c = input()
о о о о о о inpuP о о о о о о о о о о о о
print(a, c, sep=', ')
хотели «утро, вечер», а вышло:
Человек ввёл: утро, день, вечер
утро, день
!
Каждый input() забирает следующий ответ по очереди. Не нужно —всё равно прочитай.
20.
3Ч Ч Ч Ч Ч Ч Ч print
Список со словом «и» из двух print
о о о о, о о о о о о о о о о
21.
ПроблемаОдин print не справится
Попробуем sep=', '
Попробуем sep=' и '
print(a, b, c, sep=', ')
print(a, b, c, sep=' и ')
вышло:
вышло:
хлеб, молоко, сыр
хлеб и молоко и сыр
Нужно: хлеб, молоко и сыр — а sep один на все промежутки.
22.
Приём 3Два print —одна строка
s pi s ok. py
print(a, b, sep=', ', end=' и ')
print(c)
хлеб, молоко
и
1-й print · sep=', '
end
сыр
↵
2-о prinP + EnPer
end заменяет Enter в конце первого print на « и » —второй print продолжает ту же строку.
23.
ооо оооо ооо оУ какого print должен быть end?
end у первого
end у второго
print(a, b, sep=', ', end=' и ')
print(a, b, sep=', ')
print(c)
print(c, end=' и ')
на экране:
на экране:
?
хлеб, молоко и сыр
хлеб, молоко
сыр и
?
24.
4Когда tython
ругается
…Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч
Ошибка — это подсказка
25.
о о о N am eErrortython не знает такого имени
a = input()
print('Марк', 'Настя',
sep=', ', end=и)
b = input()
c = input()
d = input()
print(a, b, c, dd, sep=', ')
imya = input()
gorod = input()
print(imya, predmet, sep=' - ')
predmet = input()
NameError: name 'и' is not
defined
NameError: name 'dd' is not
defined. Did you mean: 'd'?
NameError: name 'predmet' is not
defined
Без кавычек «и» — имя
Опечатка среди многих — Python
Напечатали раньше, чем
переменной, а её нет
подсказывает похожее имя
прочитали
26.
Ошибки в параметрахsep и end —по правилам
print('А', 'Б', 'В', Sep='; ', end='.')
print('А', sep=', ', 'Б', 'В')
TypeError: 'Sep' is an invalid keyword
argument for print()
SyntaxError: positional argument follows
keyword argument
Параметр называется sep — с маленькой буквы
Порядок: print(значения…, sep=…, end=…)
Сначала все значения, потом sep= и end=
27.
5Решаем вместе
Четыре задачи для разбора на уроке
4 задачи
1 оо оооооооооо
28.
Р1Предскажи, не запуская
Что напечатает программа?
predskazhi.py
о о о о о о о о о о о о о о:
a = input()
b = input()
c = input()
a
'зима'
b
'весна'
c
'лето'
print(c, a, sep=', ', end=' и ')
print(b)
лето, зима
и
весна
?
одна строка!
29.
Р2Программа-обманщица
Найди ошибку
Хотели «хлеб, молоко и сыр». Ввели хлеб, молоко, сыр —а на экране…
pr ogr a m.py
ВВ ВВВВВВ:
a = input()
b = input()
хлеб, молоко и сыр и
c = input()
print(a, b, sep=', ', end=' и ')
print(c, end=' и ')
?
Python не ругается —а в конце лишнее «и». Какой print виноват?
лишнее «и» в конце — и Enter тоже нет
30.
В2Решение
end —только у первого
s pi s ok. py
Проверяем
a = input()
ввод: хлеб, молоко, сыр
b = input()
вывод: хлеб, молоко и сыр
c = input()
print(a, b, sep=', ', end=' и ')
print(c)
Второй print заканчивает строку обычным Enter —end ему не нужен.
31.
Р3Задача
Призёры
ЧЧЧЧЧЧ
ввод (по одному в строке)
Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч 5 имён— в порядке
финиша.Печатает только Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч —
Ч Ч Ч Ч Ч Ч Ч Ч «Ч ».
вывод
Дима, Ваня и Катя
Участники — из задачи М1!
Понадобится:
input() ×5
Дима, Ваня, Катя,
Лена, Миша
sep
end
32.
Р3Решение
Призёры
pr
i
z
er
y
.
py
a = input()
b = input()
ВВВВВВВВВ
ввод: Дима … Миша
вывод: Дима, Ваня и Катя
c = input()
d = input()
e = input()
print(a, b, sep=', ', end=' и ')
print(c)
d и e прочитаны, но не нужны —в вывод они не идут. Это не ошибка.
33.
Р4 ★Задача со звёздочкой
Доклады
Пример
ввод (по одному в строке)
Прог рамма ч ит ает 5 Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч в порядке
выступления. Печатает их в обратном порядке —
Ч Ч Ч Ч Ч Ч Ч — списком с« и».
вывод
Ева, Костя, Ира, Люба и Захар
Докладчики — из задачи М3!
Понадобится:
input() ×5
Захар, Люба, Ира,
Костя, Ева
sep
end
34.
Р4 ★Решение
Доклады
doklady.py
a = input()
b = input()
ВВВВВВВВВ
ввод: Захар … Ева
вывод: Ева, Костя, Ира, Люба и Захар
c = input()
d = input()
e = input()
print(e, d, c, b, sep=', ', end=' и ')
print(a)
ВВВВВВВ ВВВВВВ ВВВВВВ ВВВВВВВВВВВ: ВВВВВВ В pr i nt —ВВВ, ВВВ ВВВВВВВВ
35.
ИтогЗапомни главное
print(c, b, a)
b = input()
end=' и '
печатаем в любом порядке — не
ЧЧЧ Ч Ч ЧЧ Ч Ч — ЧЧ Ч ЧЧ Ч ЧЧ
Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч Ч print Ч
обязательно как читали
ЧЧЧЧЧЧЧЧ
ЧЧЧЧ ЧЧЧЧЧЧ
Проверь себя — ответь вслух:
1. Почему в задаче «пропусти второе» его всё равно читают?
2. У какого print в цепочке стоит end=' и ' — и почему?
36.
ДомаДомашнее задание
6 задач на Stepik
Ч1
Три слова наоборот
Ч2
Первое и третье
И задача на бумаге
Д3
Список из трёх с «и»
Д4
Ч5 ★
Точка с запятой
Ч6 ★
Список из четырёх с
«и»
Выбрать и
оформить
Д7 «Книги»: пятеро друзей и пять
книг — только «нет», как в М2.
37.
Молодцы!Сегодня читали много — и печатали как нужно
о о о о о о о о о о о о о: о о о о о о о о о о о о о о о о о о о о о о о — inP()
programming