Умножение строки
1 — скорее всего True == 1 неявное преобразование. 2 — нет умножения на дробное. К целому не приводит напрямую.
10 ноя 2016 в 10:47
Выходит, что True приводится к 1 типа int? Почему так происходит?
10 ноя 2016 в 11:01
@Max, потому, что внутреннее представление True == 1, попробуйте: True * 3.7
10 ноя 2016 в 11:06
10 ноя 2016 в 11:33
@vadimvaduxa хорошая статья, но на английском(
10 ноя 2016 в 11:41
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
С ошибкой в третьем примере всё очевидно — строчку нельзя повторить дробное число раз, поэтому умножение строки определено только на int.
Со вторым примером немножко интереснее.
Разработчики питона не стали делать логический тип с чистого листа, а просто унаследовали его от int. При этом True эквивалентно единице, а False — нулю.
Таким образом, с логическим типом данных можно делать все математические действие, которые определены для целочисленного типа.
isinstance(True, int) # Выведет: True # То есть логический тип действительно является потомком int 3 + True # Выведет: 4 # То есть True действительно эквивалентен единице 3 / False # Выведет ошибку деления на ноль # То есть False действительно эквивалентно нулю
Как умножить строку на число python
Как использовать оператор умножения для повторения строк в Python. Практические примеры использования для создания повторяющихся текстовых элементов, заполнения данных, создания рамок, генерации списков и шаблонов писем.
Умножение строк в Python — это одна из простых, но очень полезных операций, которая может существенно упростить и ускорить написание кода. Она позволяет повторить строку определенное число раз, что может быть очень полезно во многих случаях, например, при создании повторяющихся текстовых элементов или при заполнении данных.
Умножение строк в Python осуществляется с помощью оператора умножения * , который принимает два операнда: строку для умножения и число, на которое нужно умножить строку. Например, если мы хотим повторить строку «Hello» три раза, мы можем записать:
string = "Hello" multiplied_string = string * 3 print(multiplied_string)
Результат выполнения этого кода будет:
HelloHelloHello
Практическое применение
Пример 1: Повторение символов
Оператор умножения можно использовать для повторения символов. Например, если мы хотим создать строку из десяти символов «-» , мы можем записать:
symbol = "-" multiplied_symbol = symbol * 10 print(multiplied_symbol)
Результат выполнения этого кода будет:
Пример 2: Заполнение данных
Оператор умножения также может быть полезен при заполнении данных. Например, если мы хотим создать строку из восьми символов «0» , мы можем записать:
data = "0" * 8 print(data)
Результат выполнения этого кода будет:
00000000
Пример 3: Создание рамки
Оператор умножения можно использовать для создания рамки вокруг текста. Например, если мы хотим создать рамку вокруг строки «Hello, World!» , мы можем записать:
text = "Hello, World!" frame = "*" * (len(text) + 4) + "\n" frame += "* " + text + " *\n" frame += "*" * (len(text) + 4) print(frame)
Результат выполнения этого кода будет:
****************** * Hello, World! * ******************
Пример 4: Генерация списка
Оператор умножения можно использовать для генерации списка. Например, если мы хотим создать список, состоящий из пяти элементов «item» , мы можем записать:
items = ["item"] * 5 print(items)
Результат выполнения этого кода будет:
['item', 'item', 'item', 'item', 'item']
Пример 5: Создание шаблона письма
Оператор умножения может быть очень полезен при создании шаблона письма. Например, если мы хотим создать шаблон приглашения на вечеринку для гостя по имени Джон, мы можем записать:
name = "John" invitation = "Dear <>,\n\nYou are invited to our party!\n\nBest regards,\nThe Hosts".format(name) divider = "-" * len(invitation) message = "<>\n<>\n<>".format(divider, invitation, divider) print(message)
Результат выполнения этого кода будет:
------------------------------------------------------------ Dear John, You are invited to our party! Best regards, The Hosts ------------------------------------------------------------
Заключение
Как мы видим, оператор умножения в Python может быть очень полезной и удобной функцией. Он позволяет легко повторять строки и использовать их в различных ситуациях. Приведенные выше примеры демонстрируют, как можно использовать эту возможность для создания повторяющихся текстовых элементов, заполнения данных, создания рамок, генерации списков и шаблонов писем. Благодаря этой функции мы можем значительно упростить написание кода и сократить время, затрачиваемое на разработку программ.
Преобразование строки в число в Python. Особенности преобразования числа в строку

Иногда нам нужно выполнить преобразование строки в целое число либо в число с плавающей точкой. Потребность в этом возникает для осуществления ряда операций. Как это сделать в Python, мы сейчас и поговорим.
Чтобы осуществить преобразование строки в целое число либо число с плавающей точкой, в Python используют функции int и float. Если вы захотите выполнить преобразование без применения данных функций, то получите ошибку. Например, к ошибке приведёт следующий код:
str_a = ’50’ b = 10 c = str_a + b print (c)Преобразование строки в целое число с помощью int() в Python
Давайте посмотрим на следующий участок кода:
str_a = '50' b = 10 c = int(str_a) + b print ("The value of c = ",c)С его помощью мы выведем значение переменной «c», которое будет представлять собой сумму переменных «str_a» и «b».
Преобразуем десятичную строку в число с плавающей точкой в Python
Для преобразования строки в число с плавающей точкой мы можем использовать float:
#Преобразование string во float str_a = '50.85' b = 10.33 c = float(str_a) + b print ("The value of c = ",c)Однако учтите, что если вы захотите задействовать тут функцию int() , это приведёт к ошибке.
Преобразуем список строковых чисел в список целых чисел в Python
Бывает, что в Python необходимо выполнить преобразование строки из чисел, содержащихся в списке. В таких случаях нам поможет генератор списков. Таким образом создаётся новый список, где можно использовать функцию int() в каждой итерации:
#Преобразование string в int в списке str_lst = ['1', '2', '3'] int_lst = [int(x) for x in str_lst] print (int_lst)Мы выведем новый список, который будет состоять из целых чисел, полученных из строк.
Преобразуем список строк в список чисел с плавающей точкой в Python
Аналогично можно применять float вместо int для выполнения преобразования списка, включающего в себя строки из целых чисел:
#Преобразование string во float в списке str_lst = ['10.505', '2.3', '3.99'] float_lst = [float(x) for x in str_lst] print (float_lst)Преобразование строки с запятыми в число в Python
Что делать, если у нас строка наподобие «1,000,000»? Если мы попробуем выполнить её преобразование с помощью функций int() либо float() , мы получим ошибку.
Одно из решений — применение import locale:
locale.setlocale(locale.LC_ALL, ‘en_US.UTF-8’ )Приём работает, но он не идеален. Другое решение — заменить запятые на пустые строки, а потом применить уже известную нам функцию int:
str_a = '5,123,000' int_b = int(str_a.replace(',','')) print ("The integer value",int_b)Результат — целое значение. Это же решение мы можем использовать и для преобразования строки в число с плавающей точкой в Python.
Преобразование строки в число при расчёте високосного года в Python
Как известно, пользовательский ввод в «Пайтоне» воспринимается как строка. К примеру, в следующем коде программа попросит пользователя ввести год, а после ввода значений программа сообщит, является ли этот год високосным. При этом введённое значение сначала будет преобразовано в целое число, а потом будет задействована формула расчёта високосного года:
#Расчёт високосного года try: Y = int(input("Enter a Year? ")) exceptValueError: print ("You may only enter digits in '2000' format!") else: leap_or_not = Y%4 == 0 ifleap_or_not: print ("Leap year") else: print ("Not a leap year")Таким образом происходит преобразование вводимой строки в целое число, а потом это число применяется для расчёта.
Как преобразовать целое число в строку в Python?
При выполнении преобразования целых чисел в строки используется функция str() . Она принимает объект, который может иметь тип int, float, double и так далее.
Давайте посмотрим на пример преобразования переменной int в строку, которая потом применяется как строка для конкатенации:
#Преобразование int в string a_string = "str function for int to string" a_num = 456 print (a_string + str(a_num))Результат будет следующим:
str function for int to string456Кстати, если бы целочисленная переменная была нами использована без str() , результатом стала бы ошибка TypeError.
Как умножить переменную на число в python?
У меня есть код который генерирует рандомное число число через модуль рандом, например кодом генерируется 2.75467447747464737366 я использую
a = 2.75467 и ТД
print("%.2f" % a) и оно выводит 2.75
теперь мне нужно вывести 165 (2.75*60)
я попробовал "%.2f" % k загнать в переменную и потом умножать типа
k = "%.2f" % k
print(k*60) но выводило просто k 60 раз .
- Вопрос задан более двух лет назад
- 2086 просмотров
Комментировать
Решения вопроса 1

Senior Developer
Нужно переменную k привести к числовому типу, а так у вас выполняется строковая операция повторения.
Нужно что-то вроде float(k) * 60
Ответ написан более двух лет назад
Нравится 1 1 комментарий