Operations +
and *
on Numbers, Strings, Lists, and Tuples
Операция +
в Python (May 5)
В Python применять операцию +
можно не только к числам, но и к строкам, спискам, и даже кортежам. Примеры:
print(100 + 5)
print(100. + 5.)
print('100' + '5')
print([100] + [5])
print((100,) + (5,))
print()
print('Say' + ' 5 times hi')
print(['Say',] + [5, 'times', 'hi'])
print(('Say',) + (5, 'times', 'hi'))
print()
Результат программы:
105
105.0
1005
[100, 5]
(100, 5)
Say 5 times hi
['Say', 5, 'times', 'hi']
('Say', 5, 'times', 'hi')
Можно предыдущий скрипт оформить в виде таблички и цикла, который применит + к каждой паре значений из таблицы.
tab = (
(100, 5),
(100., 5.),
('100', '5'),
([100], [5]),
((100,), (5,)),
)
for a, b in tab:
c = a + b
print(f'{a!r:6} + {b!r:4} = {c!r:8} -- type: {type(c).__name__}')
print()
tab = (
('Say', ' 5 times hi'),
(['Say',], [5, 'times', 'hi']),
(('Say',), (5, 'times', 'hi')),
)
for a, b in tab:
c = a + b
print(f'{a!r:8} + {b!r:18} = {c!r:25} -- type: {type(c).__name__}')
Получим вывод с указанием типов результатов (int, float, str, list, tuple):
100 + 5 = 105 -- type: int
100.0 + 5.0 = 105.0 -- type: float
'100' + '5' = '1005' -- type: str
[100] + [5] = [100, 5] -- type: list
(100,) + (5,) = (100, 5) -- type: tuple
'Say' + ' 5 times hi' = 'Say 5 times hi' -- type: str
['Say'] + [5, 'times', 'hi'] = ['Say', 5, 'times', 'hi'] -- type: list
('Say',) + (5, 'times', 'hi') = ('Say', 5, 'times', 'hi') -- type: tuple
Code to play with: https://onlinegdb.com/9Ej3RmaOu
Операция * в Python (May 11)
В Python умножать на число можно не только числа, но и строки, списки и кортежи. Умножение чего-либо на 4 означает сложить “это самое” четыре раза. Примеры:
print(20 * 4)
print(20. * 4)
print('20' * 4)
print([20] * 4)
print((20,) * 4)
Output:
80
80.0
20202020
[20, 20, 20, 20]
(20, 20, 20, 20)
БОЛЕЕ СЛОЖНЫЕ ПРИМЕРЫ:
print('say hi, ' * 3)
print('Hello my darling! ' * 2)
print(['Say', 2, 'times', 'hi'] * 2)
print(list(range(3)) * 2)
print(tuple(range(3)) * 2)
Output:
say hi, say hi, say hi,
Hello my darling! Hello my darling!
['Say', 2, 'times', 'hi', 'Say', 2, 'times', 'hi']
[0, 1, 2, 0, 1, 2]
(0, 1, 2, 0, 1, 2)
Code: https://onlinegdb.com/26vDswZYs