Python Nation🐍🇺🇦
2.84K subscribers
237 photos
2 files
158 links
Канал для всіх, хто вивчає Python: поради, приклади коду, бібліотеки, лайфхаки та актуальні новин👨‍💻🐍

По всім питанням👉 @giorg_jr

❗️Канал регулярно очищується від неактивних підписників❗️
Download Telegram
#решениезадач
Сумма цифр случайного трехзначного числа

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

1-й вариант - с помощью математических операций:

# Функция random генерирует
# случайное дробное число от 0 до 1
from random import random

# При умножении на 900 получается случайное
# число от 0 до 899.(9).
# Если прибавить 100, то получится
# от 100 до 999.(9).
n = random() * 900 + 100

# Отбрасывается дробная часть, число выводится на экран
n = int(n)
print(n)

# Извлекается первая цифра (старший разряд) числа
# путем делени нацело на 100
a = n // 100

# Деление нацело на 10 удаляет последнюю цифру числа.
# Затем нахождение остатка при делении на 10 извлекает
# последнюю цифру,которая в исходном числе была средней.
b = (n // 10) % 10

# Последняя цифра (младший разряд) числа находится
# путем нахождения остатка при делении нацело на 10.
c = n % 10

# Вычисляется сумма цифр и выводится на экран
print(a+b+c)

2-й вариант - путем преобразования к строке:

from random import random

n = random() * 900 + 100
n = int(n)
print(n)

# Число преобразуется в строку
s = str(n)

# Извлекаются первый[0] символ строки, преобразуется к целому.
# Аналогично второй[1] и третий[2].
a = int(s[0])
b = int(s[1])
c = int(s[2])

print(a+b+c)
Название: Сам себе программист

Автор:
Кори Альтхофф

Год издания: 2018

Язык: #RUS
Python 3|Что выведет программа?
Anonymous Quiz
50%
PYTHON_NATION
9%
SyntaxError
41%
python_nation
Python Nation🐍🇺🇦
Photo
В Python оператор and имеет более высокий приоритет, чем оператор or.

Поэтому, первым обрабатывается b and c, что в результате возвращает False, так как две переменные имели значение False.

Далее выполняется оператор or, который сравнивает два значения True и False, которое в результате даёт True.

Таким образом, условие if становится True, а PYTHON_NATION выводится на экран.
Python 3|Что выведет программа?
Anonymous Quiz
20%
1
17%
2
43%
3
20%
4
Python Nation🐍🇺🇦
Photo
В Python порядок приоритета идет таким образом - сначала not, затем and и последнее or.

Таким образом, условие if и последующее условие elif оценивается как False, а условие третьего elif оценивается как True, что приводит к выводу числа 3 на экран.
Python 3 | Что выведет программа?
Anonymous Quiz
12%
2.25
42%
2.0
9%
SyntaxError
36%
2
Python Nation🐍🇺🇦
Photo
В данном примере происходит целочисленное деление двух чисел

// данная арифметическая операция возвращает целочисленный результат деления, отбрасывая дробную часть, то есть в результате должно быть целое число

Но так как в нашем случае одно из двух чисел имеет тип float, то и результат деления будет число типа float

Правильный ответ был: 2.0
Название: Python for Programmers

Автор: Paul J. Deitel; Harvey Deitel

Год издания: 2019

Язык: #ENG
Python 3 | Что выведет программа?
Anonymous Quiz
33%
555
50%
111
11%
SyntaxError
6%
None
Python Nation🐍🇺🇦
Photo
Создание экземпляра класса Exam автоматически вызывает метод __init__ и передает объект как self параметр

111 присваивается атрибуту данных объекта с именем id

Значение 555 не сохраняется в объекте, так как оно не присваивается атрибуту данных класса/объекта.

Итак, вывод программы - 111
Python 3 | Что выведет программа?
Anonymous Quiz
16%
Python
4%
Pk
14%
Flask
66%
n