-
Notifications
You must be signed in to change notification settings - Fork 0
/
srs3_1part.py
170 lines (125 loc) · 7.81 KB
/
srs3_1part.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
from decimal import Decimal as dec
import math
"""Завдання №1
Задайте інструкцію для інтерпретатора для створення списку, який
складається з п’яти елементів цілочисельного типу, та створення кортежу з 1,
3 та 5-го елементів даного списку. ."""
arr = list(range(1, 6))
print(arr)
tup = tuple((arr[i] for i in range(0, len(arr), 2)))
print(tup, '\n')
'''Завдання №2
Задайте інструкцію для інтерпретатора для створення кортежу, який
складається з п’яти елементів дійсного типу.'''
tup = tuple((i + 1.0 for i in range(5)))
print(tup, '\n')
"""Завдання №3
У вигляді інструкцій для інтерпретатора задайте рядок з своїм ім’ям і
виведіть на друк його довжину. """
name = 'Yaroslav'
print(len(name), '\n')
# 4-5 уже делал
"""Завдання №6
Створіть фрагмент програми з використанням діапазонів для обчислення
суми парних чисел від 0 до 20."""
my_sum = 0
for digit in range(0, 20, 2): my_sum += digit
print(my_sum, '\n')
"""Завдання №7
Створіть фрагмент програми з використанням діапазонів для обчислення
суми парних чисел від 0 до -20.
"""
my_sum = 0
for digit in range(0, -20, -2): my_sum += digit
print(my_sum, '\n')
"""Завдання №8
Створіть фрагмент програми з використанням діапазонів, який з рядка з
Вашим ім’ям створить рядок з 1, 3, 5-го … елементів. """
name = 'Yaroslav'
print(''.join([name[i] for i in range(0, len(name), 2)]), '\n')
"""Завдання №9
Створіть фрагмент програми з використанням діапазонів, який з рядка з
Вашим ім’ям створить рядок з 2, 4, 6, … елементів. """
name = 'Yaroslav'
print(''.join([name[i] for i in range(1, len(name), 2)]), '\n')
"""Завдання №10
Створіть фрагмент програми з використанням діапазонів для обчислення
значення 5! """
fac = 1
for dig in range(2, 6): fac *= dig
print('!5 = {}'.format(fac), '\n')
"""Завдання №11
Створіть фрагмент програми для обчислення кількості банок фарби для
фарбування бака циліндричної форми ззовні і з середини. Передбачити
введення діаметра і висоти бака, а також площі, яку можна зафарбувати однією
банкою фарби."""
h = dec(input('height = '))
d = dec(input('diameter = '))
s = dec(input('square which you can paint by 1 bank = '))
print('need {} banks for painting this barrel'.format(math.ceil(h * d * 2 / s)), '\n')
"""Завдання №12
Створіть фрагмент програми для обчислення помісячного платежу за
кредитом і платежу за весь період користування кредитом.
Формула для обчислення помісячної виплати:
m = (s * p * (1 + p)n) / (12 * ((1 + p)n
– 1)), де
m – розмір помісячної виплати; s – розмір кредиту; p – процент банку, в долях
від одиниці (тобто якщо 20%, то 0.2); n – кількість років користування
кредитом.
Передбачити введення суми кредиту, періоду користування кредитом,
процент банку за користування кредитом."""
s = dec(input('Sum of the credit = '))
n = dec(input('Period of the credit = '))
p = dec(input("Bank's percent = ")) / 100
m = (s * p * (1 + p)*n) / (12 * ((1 + p)*n - 1))
all_amount = m * n * 12
print('Month payment = {}; Full payment = {}'.format(round(m, 3), round(all_amount, 3)), '\n')
"""Завдання №13
Створіть фрагмент програми для обміну значеннями змінних різного
типу – дійсного числа і рядка."""
text = input('input text: ')
real_numb = float(input('input real_numb: '))
text, real_numb = real_numb, text
print('text = {}; real_numb = {}'.format(text, real_numb))
"""Завдання №14
Створіть фрагмент програми: виведіть числа 10, 235 та 1000, 50 в стовпчик
одне під одним: а) без форматування, б) у поля шириною 5 та 7 відповідно з
вирівнюванням по правому краю), в) у поля шириною 5 та 7 відповідно один
стовпчик з вирівнюванням по лівому краю, інший – по правому."""
a1, a2 = 10, 235
b1, b2 = 1000, 50
print('{}\n{}\n{}\n{}\n'.format(a1, a2, b1, b2))
print('{:>5}\n{:>5}\n{:>7}\n{:>7}\n'.format(a1, a2, b1, b2))
print('{:<5}\n{:<5}\n{:>7}\n{:>7}\n'.format(a1, a2, b1, b2))
"""Завдання №15
Обчислити протяжність року на двох планетах за введеними радіусами та
швидкості руху по орбітах. З’ясувати, чи відповідає істині те, що на першій
планеті рік довший, ніж на другій. Передбачити ввід радіусу орбіти та
швидкості планет з клавіатури. Для виводу використовувати форматування.
Протяжність року обчислюється за формулою:
2 * радіус орбіти * π / орбітальна швидкість.
Земля: радіус 149.598261 млн км, орбітальна швидкість 29.783 км/с
Венера: радіус 108 млн км, орбітальна швидкість 35 км/с
Марс: радіус 227.94382 млн км, орбітальна швидкість 24.13 км/с."""
r1 = dec(input('Радиус планеты1(млн км) = ')) * 10**6
v1 = dec(input('Орбитальная скрость планеты1 = '))
r2 = dec(input('Радиус планеты2(млн км) = ')) * 10**6
v2 = dec(input('Орбитальная скрость планеты2 = '))
get_t = lambda r, v: round(2 * r * dec(math.pi) / v / 3600 / 24, 3)
get_format_out = lambda planet_numb, t: 'Протяжительность года планеты{} = {:>8}дням'.format(planet_numb, t)
print(' Ответ '.center(100, '='))
print(get_format_out(1, get_t(r1, v1)))
print(get_format_out(2, get_t(r2, v2)))
"""Завдання №16
Створіть фрагмент програми з використанням операції конкатенації та
мультиплікації (повторення). Передбачити введення рядків та кількість
повторень з клавіатури. Створіть рядок з першого рядка та кількості
повторень. Передбачити в програмі зміну пріоритету виконання операцій. """
text = input('Input text: ')
am_repeat = int(input('Amount of repeat: '))
priority = int(input('Input 1 for concatenation first priority, or 2 for multiplication'))
if priority == 1:
text = text.replace(' ', '') * am_repeat
else:
text = (text * am_repeat).replace(' ', '')
print(text)