DO-troi

П


https://

ока народ подтягивается, даю задание 4:
На её основе программы, написанной в прошлый раз, выдать статистику по корона вирусу.

Опросить десять опрошенных, и выяснить, сколько человек сидят дома, сколько дистанционно обучаются, и сколько гуляют не дальше 100 метров.
Как всегда, готовые программы высылать мне на почту
110110@list.ru
Недоумевающих, прошу задавать вопросы.
==============================================
Пояснение к 4 задаче


Опросить десять опрошенных, и выяснить, сколько человек сидят дома, сколько дистанционно обучаются, и сколько гуляют не дальше 100 метров.

- Опросить десять опрошенных — делаем цикл for от 0 до 9 (Важный Питон, стр 17) в нём спрашиваем пользоватеря об возрасте (Важный Питон, стр 9)
- выяснить, сколько человек сидят дома — сочиняем счетчик человеков сидящих дома, до цикла зануляем его, а в цикле , по условию возраста меньше 7 или больше 65 увеличиваем на единицу (Важный Питон, стр 7)
- сколько дистанционно обучаются, и сколько гуляют не дальше 100 метров. — аналогично
после цикла выводим полученные результаты. Попутно, разбираемся, наконец, с операторными скобками (Важный Питон, стр 10)
И, главное, всё делаем осмысленно, а не пытаемся угадать заклинание. Программирование — сверхточная дисциплина.


--------------—
Для выполнения задания можно осведомиться:

- Как получить числовое значение от пользователя (Важный Питон, стр. 9)
- Как вывести значение переменной (Важный Питон, стр. 8)
- Как изменить значение переменной (Важный Питон, стр. 7)
- Как и зачем нужны отступы в Питоне (Важный Питон, стр. 10)
- Как можно организовать выполнение операторов, в зависимости от некоторого условия (Важный Питон, стр. 11)
- Как писать функцию range (Важный Питон, стр. 15)
- Как можно выполнить одни и те-же операторы , конкретное количество раз (Важный Питон, стр. 17)

========================================

Продолжаем разговор.

Производится опрос неопределённого числа опрашиваемых. Признаком конца опроса является ноль. Необходимо выдать сколько процентов сидят дома, сколько дистанционно обучаются, и сколько гуляют не дальше 100 метров.

Какие могут быть алгоритмы?

Очевидным образом, заводим счетчики для домоседов, учеников и собачников.
Поскольку общее количество опрошенных тоже нужно, то и для этого заводим счетчики.

Признак конца - ноль, а значит, нужен цикл с пост-условием, т.е. сначала спрашиваем, затем проверяем условие. while - цикл с предусловием - сначала проверяется условие, а потом спрашивается. Выходы следующие:
1 до цикла спросить разочек, а потом в цикле переспрашивать. Это к Ангелине, она крупнейший специалист в этом
2 использовать технический приём , описанный на стр 16 Важного Питона
3 использовать for с ооочень большим окончанием, а выходить по break. Переменная цикла, кстати, заодно будет счетчиком опрошенных.
4 возможно, вы придумаете что нибудь своё


--------------------
супер-головоломная задача.
 
выдать следующую статистику по больнице.
Значения температур хранится в файле t.txt
 
Написать программу, которая выдаёт среднюю температуру по больнице, и процент пациентов, у которых она превышает 36,6 градусов по цельсию.
 
Предварительно создать файл t.txt в который записать значения температур в столбик от балды
 
Как в Питоне работать с файлами — Важный Питон, стр. 18, Голодный Питон стр. 18-19

Это задание смогут выполнить только те, кто работает на нормальных Питонах.
Кто работает на онлайн Питонах, пусть Значения температур сохранят в списке t и работают с ним.

Как в Питоне работать со списками — Важный Питон, стр. 13, Голодный Питон стр. 9-10
Мне выслать файлы программ и названия сред, в которых вы работали.


Создаём файл в блокноте, сохраняем в известное место с коротким путём (например в корне c)
Далее  пишем программу.
1.Зануляем необходимые счетчики,
2.затем делаем цикл по этому файлу с указанием полного пути, (с обратными слешами, или с двойными прямыми слешами,) а  переменной цикла будет очередное значение из файла текстового типа.
3.Его преобразовываем в число,
4.делаем анализ и
5.собираем статистику.
6.Затем распечатываем результаты.




---_------


Любое значение в Python при необходимости может интерпретироваться как True или False в соответствии с правилами язык


Ведущие нули

~True -2

Выполнение правого битового сдвига n эквивалентно целочисленному делению на 2**n : 


преобразования:

0, 0.0, '' и None приводятся к False. Эти значения называют falsy. Сюда входят еще другие типы данных, которые мы будем изучать на Хекслете

Все остальное приводится к True


answer = 'python' print(not answer) # => False print(not not answer) # => True




Представьте, что нам нужно проверить — значение равно одному или другому. Например, переменная value должна содержать одно из двух значений: first или second. Начинающие разработчики иногда записывают это выражение так:

value == ('first' or 'second')

Однако такой код приведет к неверному результат





Любое значение в Python при необходимости может интерпретироваться как True или False в соответствии с правилами язык


Объекты, которые приравниваются к False

Последовательности и коллекции

пустой список: [];

пустой кортеж: ();

пустой словарь: {};

пустое множество: set();

пустая строка: “”;

пустой диапазон: range(0).

Нули любых численных типов

целочисленный ноль: 0;

ноль с плавающей точкой: 0.0;

комплексный ноль: 0j.

Константы

None;

False.


Пвердые и фальсивые значения в Python: подробное представление

Двоичные восьмиричные шест только целые
Дейсв. Только десятичныеЛюбое значение в Python при необходимости может интерпретироваться как True или False в соответствии с правилами язык


Ведущие нули

~True -2

Выполнение правого битового сдвига n эквивалентно целочисленному делению на 2**n : 


преобразования:

0, 0.0, '' и None приводятся к False. Эти значения называют falsy. Сюда входят еще другие типы данных, которые мы будем изучать на Хекслете

Все остальное приводится к True


answer = 'python' print(not answer) # => False print(not not answer) # => True




Представьте, что нам нужно проверить — значение равно одному или другому. Например, переменная value должна содержать одно из двух значений: first или second. Начинающие разработчики иногда записывают это выражение так:

value == ('first' or 'second')

Однако такой код приведет к неверному результат





Любое значение в Python при необходимости может интерпретироваться как True или False в соответствии с правилами язык


Объекты, которые приравниваются к False

Последовательности и коллекции

пустой список: [];

пустой кортеж: ();

пустой словарь: {};

пустое множество: set();

пустая строка: “”;

пустой диапазон: range(0).

Нули любых численных типов

целочисленный ноль: 0;

ноль с плавающей точкой: 0.0;

комплексный ноль: 0j.

Константы

None;

False.


Пвердые и фальсивые значения в Python: подробное представление

Двоичные восьмиричные шест только целые
Дейсв. Только десятичные




3.5


Реализована функция math.isclose() для приблизительного сравнения значений с заданным уровнем точности. Например, "math.isclose(5.0, 4.99998, abs_tol=0.00003)" вернёт True

Представлен модуль typing, который позиционируется в качестве нового стандарта для задания аннотаций типов. При подключении модуля можно предоставить данные о типах аргументов и возвращаемого значения функции, например "def greeting(name: str) -> str"

Добавлен новый оператор "@" для умножения матриц. Например, вместо "S = dot((dot(H, beta) - r).T, dot(inv(dot(dot(H, V), H.T)), dot(H, beta) - r))" теперь можно использовать более понятное представление "S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r)".



3.6

поддержка форматируемых строковых литералов, благодаря чему можно определить строку, которая содержит подстановки. Выражения в фигурных скобках вычисляются, подставляясь в текст строки во время выполнения программы, а также форматируются с использованием протокола format (). В качестве примера разработчики приводят такой фрагмент:

>>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'
>>> width = 10
>>> precision = 4
>>> value = decimal.Decimal("12.34567")
>>> f"result: {value:{width}.{precision}}" # nested fields
'result: 12.35'


Читаемость чисел можно улучшать при помощи символов подчеркивания, например, таким образом — 1_000_000 или 0x_FF_FF_FF;



Также добавлена возможность асинхронной обработки так называемых comprehensions (списковых включений) путем работы с выражением «async for» для таких элементов, как списки, множества и словари.


3.7

Добавлена новая встроенная функция breakpoint(), позволяющая программно инициировать срабатывание точки останова для перехода в отладчик. Вызываемый отладчик определяется через переменную окружения PYTHONBREAKPOINT (если установить в 0, вызов отладчика пропускается


В спецификации стандартизировано сохранение порядка следования записей объектов dict;


Обеспечена возможность передачи в функции более 255 аргументов;



3.8


Моржовый оператор (Оператор присваивания


Позиционные аргументы


def f(a, b, /, c, d, *, e, f):
print(a, b, c, d, e, f)
Здесь все, что находится перед / — строго позиционные аргументы, а все, что после * — только ключевые слова.

3.9


Объединение словарей

Давайте разбираться с нововведениями.

1. Операторы обновления и слияния словарей

Во встроенный класс dict добавлено два оператора: | и|=.

| используется для объединения словарей, |= – для их обновления.
Как мы видим, добавлены новые операторы | и |=.

| можно рассматривать как оператор + (сложения) в списках, а |= – как оператор += (расширения).



Одна из новых и уже моих любимых фич с синтаксисом. Если у нас есть два словаря a и b, которые нам нужно объединить, мы теперь используем операторы объединения.

У нас есть оператор слияния “|”:

a = {1: 'a', 2: 'b', 3: 'c'}
b = {4: 'd', 5: 'e'}
c = a | b
print(c)
[Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

Тайп хинтинг


Python динамически типизирован, то есть нам не нужно указывать типы данных в нашем коде.
Это нормально, но иногда это может сбивать с толку, и внезапно гибкость Python становится более неприятной, чем что-либо еще.

Начиная с версии 3.5 мы могли указывать типы, но это было довольно громоздко. Текущее обновление действительно изменило подход, давайте посмотрим пример:

;

В нашей функции add_int мы явно хотим сложить два одинаковых числа(по какой-то загадочной неопределенной причине). Но наш редактор этого не знает, и совершенно нормально соединять две строки используя “+”, поэтому никакого предупреждения мы не увидим.

Теперь мы можем указать ожидаемый тип как int. Используя это, наш редактор сразу обнаруживает проблему.

Строковые методы


Не так эффектны, как другие новые функции, но все же стоит их упомянуть, поскольку это может быть полезно. Добавлены два новых строковых метода для удаления префиксов и суффиксов:

3.10

Сопоставление шаблонов

Одна масштабная фича, о которой вы, конечно, слышали, — это структурное сопоставление шаблонов, добавляющее оператор известное выражение case из других языков. Мы знаем, как работать с case, но посмотрите на вариацию в Python это не просто switch/case, но также несколько мощных особенностей, которые мы должны исследовать.

3.11
Ошибки в трассировке теперь указываются точнее

При печати трассировки интерпретатор теперь точно указывает на выражение, которое привело к ошибке, а не на строку:


Добавлена функция math.cbrt(), она возвращает кубический корень из x.

https://




pythonist-ru.turbopages.org/turbo/pythonist.

ru/s/konstrukcziya-match-case-v-python-polnoe-rukovodstvo/


Рецензии