-
Notifications
You must be signed in to change notification settings - Fork 73
Practical work 3 Pogorely_E_P #133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 14 commits
16d6e67
3a32f48
babb021
13f9556
cd586db
cac1425
4124c0e
98980b1
b173d00
55b912b
203d39f
6ffa361
8c7f74d
fa4a73c
1a74dae
56a112e
6a15565
37852ee
d984c17
f3ee376
307bea5
7563fec
77f1868
fa49010
f03e726
91c4d1c
b0f4953
03dbe20
2459f00
6ec341a
13490ad
cd6e9b0
52539fd
af888a8
e4812f6
9a605ab
661408b
44cdd5e
3a69e72
b0efbf8
bff2bd0
0c8864b
10e0d38
92e5ee1
815dbcd
6ea7028
92f8ea5
88c059b
17e9197
a903767
8c09661
146cfe4
6c65765
f729457
1ddac2a
31e3768
4bd25a9
ec9cefd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| # 1. Реализовать скрипт, в котором должна быть предусмотрена функция расчёта заработной | ||
| # платы сотрудника. Используйте в нём формулу: (выработка в часах*ставка в час) + премия. | ||
| # Во время выполнения расчёта для конкретных значений необходимо запускать скрипт с параметрами. | ||
|
|
||
| from sys import argv | ||
|
|
||
| hours, pay_hour, bonus = argv | ||
|
|
||
| # res = int(hours) * int(pay_hour) + int(bonus) | ||
| # | ||
| # print(res) | ||
|
|
||
| print(hours) | ||
| print(pay_hour) | ||
| print(bonus) | ||
| # Не понял как правельно передать параметры в скрипт | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # 2. Представлен список чисел. Необходимо вывести элементы исходного списка, значения | ||
| # которых больше предыдущего элемента. | ||
| # Подсказка: элементы, удовлетворяющие условию, оформить в виде списка. | ||
| # Для его формирования используйте генератор. | ||
| # Пример исходного списка: [300, 2, 12, 44, 1, 1, 4, 10, 7, 1, 78, 123, 55]. | ||
| # Результат: [12, 44, 4, 10, 78, 123]. | ||
|
|
||
| my_list = [300, 2, 12, 44, 1, 1, 4, 10, 7, 1, 78, 123, 55] | ||
| new_list = [el for i, el in enumerate(my_list) if my_list[i] > my_list[i - 1]] | ||
| res = new_list.pop(0) | ||
| print(f'Исходный список {my_list}') | ||
| print(f'Список с результатом {new_list}') | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. new_list.pop(0) |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # 3. Для чисел в пределах от 20 до 240 найти числа, кратные 20 или 21. | ||
| # Решите задание в одну строку. | ||
| # Подсказка: используйте функцию range() и генератор. | ||
|
|
||
| ls = [el for el in range(20, 241) if el % 20 == 0 or el % 21 == 0] | ||
| print(ls) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. выполнено |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # 4. Представлен список чисел. Определите элементы списка, не имеющие повторений. | ||
| # Сформируйте итоговый массив чисел, соответствующих требованию. Элементы выведите | ||
| # в порядке их следования в исходном списке. Для выполнения задания обязательно используйте генератор(LC). | ||
| # Пример исходного списка: [2, 2, 2, 7, 23, 1, 44, 44, 3, 2, 10, 7, 4, 11]. | ||
| # Результат: [23, 1, 3, 10, 4, 11] | ||
|
|
||
| my_list = [2, 2, 2, 7, 23, 1, 44, 44, 3, 2, 10, 7, 4, 11] | ||
| new_list = [el for i, el in enumerate(my_list) if my_list.count(el) < 2] | ||
| print(f'Исходный список {my_list}') | ||
| print(f'Список с результатом {new_list}') | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. выполнено |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # 5. Реализовать формирование списка, используя функцию range() и возможности генератора. | ||
| # В список должны войти чётные числа от 100 до 1000 (включая границы). Нужно получить | ||
| # результат вычисления произведения всех элементов списка. | ||
| # Подсказка: использовать функцию reduce(). | ||
|
|
||
| from functools import reduce | ||
|
|
||
| def my_func(el_p, el): | ||
| return el_p * el | ||
|
|
||
|
|
||
| print(f'Список четных значений {[el for el in range(100, 1001) if el % 2 == 0]}') | ||
| print(f'Произведение всех элементов списка {reduce(my_func, [el for el in range(100, 1001) if el % 2 == 0])}') | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. выполнено |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # Подсказка: используйте функцию count() и cycle() модуля itertools. | ||
| # Обратите внимание, что создаваемый цикл не должен быть бесконечным. | ||
| # Предусмотрите условие его завершения. #### Например, в первом задании выводим целые числа, начиная с 3. | ||
| # # При достижении числа 10 — завершаем цикл. Вторым пунктом необходимо предусмотреть условие, | ||
| # # при котором повторение элементов списка прекратится. | ||
|
|
||
| from itertools import count | ||
|
|
||
| for el in count(3): | ||
| if el == 10: | ||
| break | ||
| print(el) | ||
|
|
||
| from itertools import cycle | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. все импорты строго в начале модуля |
||
|
|
||
| c = 0 | ||
| for el in cycle('ABC'): | ||
| if c > 10: | ||
| break | ||
| print(el) | ||
| c += 1 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| # 7. Реализовать генератор с помощью функции с ключевым словом yield, создающим очередное значение. | ||
| # При вызове функции должен создаваться объект-генератор. Функция вызывается следующим образом: | ||
| # for el in fact(n). Она отвечает за получение факториала числа. | ||
| # В цикле нужно выводить только первые n чисел, начиная с 1! и до n!. | ||
| # Подсказка: факториал числа n — произведение чисел от 1 до n. | ||
| # Например, факториал четырёх 4! = 1 * 2 * 3 * 4 = 24. | ||
|
|
||
| from itertools import count | ||
| from math import factorial | ||
|
|
||
| def fact(): | ||
| for el in count(1): | ||
| yield factorial(el) | ||
|
|
||
|
|
||
| space = fact() | ||
| n = int(input('Введите число n: ')) | ||
| x = 0 | ||
| for i in space: | ||
| if x < n: | ||
| print(i) | ||
| x += 1 | ||
| else: | ||
| break | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. выполнено |
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
правельно - правИльно....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
нужно смотреть вебинары
в них препод-ль все показывает