Ввод-вывод, оператор присваивания, арифметические операции
Данный курс будет посвящен изучению программирования с использованием языка Python. Это — современный язык программирования, работающий на всех распространных операционных системах.
В настоящее время существует две версии языка Python: более старая, но пока ещё более распространненая версия 2 и современная версия 3. Они не вполне совместимы друг с другом: программа, написанная для одной версии языка может оказаться невыполнимой для другой версии. Но в основном обе версии очень похожи.
Мы будем использовать версию 3 данного языка, некоторые из используемых примеров не будут работать с версией 2. Последняя версия языка, доступная в сентябре 2010 года — 3.1.2, именно её необходимо установить дома, скачав данную версию с сайта www.python.org.
Запустить интерпретатор python можно из командной строки:
$ python3
Будьте внимательны — команда python запустит интерпретатор версии 2, с которым мы работать не будем. В системе Windows можно использовать пункт меню “Python (command line)”
Вы увидите примерно следующее приглашение командной строки:
Python 3.1.2 (r312:79147, Jun 12 2010, 15:29:06)
[GCC 4.4.3 20100316 (ALT Linux 4.4.3-alt2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Смело вводите команды и наслаждайтесь результатом. А что можно вводить? Несколько примеров:
>>> 2 + 2
4
>>> 2 ** 100
1267650600228229401496703205376
>>> 'Hello' + 'World'
'HelloWorld'
>>> 'ABC' * 100
'ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC'
Первая команда вычисляет сумму двух чисел, вторая команда вычисляет 2 в степени 100, третья команда выполняет операцию конкатенации для строк, а четвертая команда печатает строку ‘ABC’, повторенную 100 раз.
Хотите закончить работу с питоном? Введите команду exit() (именно так, со скобочками, так как это — функция), или нажмите Ctrl+D.
Python число в строку
Чтобы конвертировать число в строку, используйте встроенную функцию str() . Эта функция в качестве входящих данных принимает число (или другой тип данных), а в результате выдает строку.
Примеры
Вот один пример:
>>> str(123) '123'
Если число является значением переменной, конвертировать его можно следующим образом:
>>> number = 999 >>> number_as_string = str(number) >>> number_as_string '999'
Конкатенация строк и чисел в Python
Иногда возникает необходимость сконструировать строку, содержащую число из другой переменной. Вот пример, как это делается:
>>> week = 33 >>> greeting = "it is week " + str(week) >>> greeting 'it is week 33'
Избегаем преобразования типов данных
Когда разработчикам нужно объединить число и строку, они обычно применяют функцию str() непосредственно перед выводом данных на экран. Например:
>>> name = "Bob" >>> age = 33 >>> print(name + " is " + str(age) + " years old") Bob is 33 years old
Но гораздо более чистый способ — применять к строкам метод .format() :
>>> print(" is years old".format(name=name, age=age)) Bob is 33 years old
А еще лучше — использовать f-строки (Python 3):
>>> print(f" is years old") Bob is 33 years old
Как вывести числа в строку python
Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности
Public user contributions licensed under cc-wiki license with attribution required
Извлечь из строки числа
Дана строка, содержащая натуральные числа и слова. Необходимо сформировать список из чисел, содержащихся в этой строке. Например, задана строка «abc83 cde7 1 b 24». На выходе мы должны получить список [83, 7, 1, 24].
Решение задачи на языке программирования Python
Следует посимвольно перебирать строку. Если очередной символ цифра, надо добавить ее в новую строку. Далее проверять символы за ней, и если они тоже цифры, то добавлять их в конец этой новой подстроки из цифр. Когда очередной символ окажется не цифрой, или будет достигнут конец строки, то надо преобразовать строку из цифр в число и добавить в список.
s = input() length = len(s) integers = [] i = 0 # индекс текущего символа while i length: s_int = '' # строка для нового числа while i length and '0' s[i] '9': s_int += s[i] i += 1 i += 1 if s_int != '': integers.append(int(s_int)) print(integers)
5 dkfj78df 9 8 dkfj8 [5, 78, 9, 8, 8]
Обратите внимание, что данное решение извлекает именно числа, а не цифры. Иначе мы бы не получили число 78, а получили отдельно цифру 7 и цифру 8. Задача на извлечение цифр существенно проще.
Решение через цикл for:
a = input() num_list = [] num = '' for char in a: if char.isdigit(): num = num + char else: if num != '': num_list.append(int(num)) num = '' if num != '': num_list.append(int(num)) print(num_list)
Если в строке числа всегда отделены от слов пробелами, задача решается проще:
s = input() word_list = s.split() num_list = [] for word in word_list: if word.isnumeric(): num_list.append(int(word)) print(num_list)
Здесь происходит разделение строки на слова по пробелам. В цикле с помощью метода isnumeric каждое слово проверяется, является ли оно числом. Подобную задачу можно решить в одну строку, если использовать функцию filter .
s = input() word_list = s.split() num_list = [int(num) for num in filter( lambda num: num.isnumeric(), word_list)] print(num_list)
В функцию filter передается лямбда-выражение, проверяющее слова, и список слов. Функция возвращает список строк-чисел. Далее с помощью генератора списка строки преобразовываются в целочисленный тип.
На практике при решении подобных задач, когда надо найти и извлечь из строки что-либо, обычно пользуются регулярными выражениями. В примере ниже не обязательно, чтобы число было отделено пробелами.
import re s = input() nums = re.findall(r'\d+', s) nums = [int(i) for i in nums] print(nums)
Для поиска вещественных чисел:
import re s = input() nums = re.findall(r'\d*\.\d+|\d+', s) nums = [float(i) for i in nums] print(nums)
X Скрыть Наверх
Решение задач на Python