Python: проверьте отрицательные числа
Я пытаюсь добавить фрагмент кода в эту строку, чтобы проверить отрицательное число в первой позиции. Если код идентифицирует отрицательное число, он должен возвращать «False». У меня возникают проблемы с int и str в команде ввода пользователя. Извините, новичок в Python.
Это то, что вы хотите?
Не совсем уверен, если это то, что вы хотите, возможно, вы должны увидеть ᴡʜᴀᴄᴋᴀᴍᴀᴅᴏᴏᴅʟᴇ3000 ответ
Попробуйте этот код. Вы можете заменить свою функцию is_number на этот код. Это функция, которая проверяет, является ли первый символ отрицательным знаком, и если он есть, он вернет true. В противном случае число не может быть отрицательным, и оно вернет false. Однако, если есть только — знак, то он не является ни и вернет ложь. Он использует только одну строку и намного проще. Он работает и для струн и плавающих.
Числа в Python

В программировании мы всегда взаимодействуем с данными, которые не являются какой-то абстрактной субстанцией. Все данные разделяются по определенному типу. На предыдущих уроках мы узнали, про строки, списки, словари и о логическом типе данных. Сегодня, поговорим о самом базовом типе данных в Python — числах.
Почему нельзя свалить все данные в одну общую кучу и не заморачиваться с каждым типом по отдельности? Допустим, мы присвоили переменной a цифру 5: a = 5. А теперь представьте, что никакого разделения по типу данных нет. Так что находится в переменной: число или строка? Если 10 — это число, то с ним можно произвести математические действия. А если это строка, то мы имеем дело с текстом и тогда Python задействует совсем другие методы.
# объединение строк (конкатенация)
d = '10'
f = 'негритят'
d + ' ' + f
'10 негритят'
Ключевой момент: У каждого типа данных свои методы.
Цифра 100 написанная без кавычек, относится к числовому типу данных. А цифра '100' в кавычках — к строковому типу. С помощью синтаксиса, мы сообщаем Python, какой у нас тип данных. Числа в Python делятся на два вида: целое число и вещественное.
Целое число
К целым числам (int) относятся все положительные и отрицательные числа без дробной части. Все положительные целые числа называются натуральными.
-80, -10, -4, 0, 1, 2, 20
Вещественное число
У вещественных чисел (float) всегда присутствует дробная часть, а ещё их называют числами с плавающей точкой. Поскольку дробная часть отделяется от целой части, точкой.
Математические операции с числами
Ради математических вычислений в Python и существует числовой тип данных.
Сложение чисел
e = 45 + 55
print(e)
100
Вычитание чисел
Умножение чисел
Деление чисел
У результата деления целого числа на целое, всегда будет дробная часть. Такая особенность обусловлена тем, что в большинстве случаев числа не делятся без остатка.
Целочисленное деление
В результате целочисленного деления, всегда будет целое число. Мы просто отбрасываем остаток. Число 15 поместится целых 2 раза.
Остаток от деления
Ответом будет остаток от деления. При обычном делении, ответ был бы 15.1. Но нам нужен только остаток. Убираем целое число и оставляем 1.
n = 16 % 3
print(n)
1
Возведение числа в степень
Число перед двумя звездочками — это объект, который нужно возвести в степень. Цифра после звездочек обозначает, в какую степень возводим: 4 возводим во вторую степень.
l = 4 ** 2
print(l)
16
В Python есть встроенные математические функции.
Модуль числа
Функция abs() находит модуль числа. Передаем в параметрах одно значение. Если передаваемое значение отрицательное, то abs() вернет положительное число. Модуль числа не может быть отрицательным.
Наименьшее число
Функция min() в Python возвращает самое маленькое число.
Максимальное число
Функция max() вернет самое большое число.
Округление до целого числа
Функция round() округляет до целого числа.
Вывести число в Python
Функция print() выводит числа на экран.
Ввести число в Python
Функция input() считывает вводимое значение пользователем в консоль и сохраняет его в переменной. Но что произойдет, если мы введем какое-нибудь число и затем обратимся к переменной?
Python вывел строку, так как число стоит в кавычках.
Для ввода целого числа, следует обернуть функцию input() в другую функцию int().
Для вещественного числа, соответственно в float().
Как посчитать сумму введенных чисел?
В команде input() можно передавать подсказки.
w = int(input(«Введите первое число: «))
q = int(input(«Введите второе число: «))
summa=w+q
print(summa)
Введите первое число: 6
Введите второе число: 7
13

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Она выглядит вот так:
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
1. Типы данных¶
Переменная в языке программирования это название для зарезервированного места в памяти компьютера, предназначенное для хранения значений. Это означает, что когда вы создаете переменную, вы на самом деле резервируете определенное место в памяти компьютера. Основываясь на типе данных переменной, интерпретатор выделяет необходимое количество памяти и решает, что может находится в зарезервированной области памяти. Для понимания, можете думать о переменной как о коробке, в которую можно положить любую вещь, но только определенного размера. Размер в данном примере будет типом переменной. Это не совсем верное определение, но оно дает общее представление о картине в целом.
Присвоение значения переменной:
В Python вам не нужно объявлять тип переменной вручную (как, например в С++). Объявление происходит автоматически (это называется динамическая типизация), когда вы присваиваете значение переменной. Знак равенства ( = ) используется для присвоения значения переменной. Операнд по левую сторону от знака равно ( = ) это имя переменной, операнд по правую сторону — значение присвоенное этой переменной.
python: обнаружение отрицательного числа в строке
Итак, у меня есть несколько текстовых файлов с такой строкой:
Я хочу обнаружить отрицательное число и заменить его на 0.1.
Я могу обнаружить отрицательное число, просто ища «-»
если text.count(‘-‘) > 0, число отрицательное.
Мой вопрос: как заменить «-9.0» в строке на число 0.1? В конечном итоге я хочу вывести:
задан 25 мая ’11, 21:05
Примечание: отрицательное число зависит от файла. Не всегда -9.0. — Flux Capacitor
Это фиксированная ширина? (т. е. имеет ли значение, если в замене не так много символов, как в оригинале?) — Tim Yates
Нет, это может быть -9.0, -10.1, -11.123 и т. д., поэтому мне нужно общее решение для замены любого отрицательного десятичного числа на 0.1. — Flux Capacitor
Позвольте мне уточнить: если я заменю число вроде «-100000» на «0.1» и не добавлю лишних пробелов, имеет ли значение, что остальная часть строки не будет на том же месте, что и раньше? — Tim Yates
@ Тим Йейтс Я не думаю, что это имеет значение, но я не уверен на 100%. — Flux Capacitor
3 ответы
Простое решение для пользователя .replace(‘-9.0′,’0.1’) (см. документацию для .replace() ), но я думаю, вам нужно более гибкое решение, основанное на регулярных выражениях:
ответ дан 27 мая ’11, 20:05
Согласовано. Я должен был быть более ясным. Отрицательное число может быть любым отрицательным числом. — Конденсатор потока
@Flux Может ли он быть также целым числом? — Тадек
Хороший вопрос. Я сомневаюсь, что это будет целое число, но я не могу быть уверен на 100%, так как я не просматривал каждый из
@bradley.ayers Вы правы — я опубликовал это до того, как проверил. Теперь он заменяет каждое отрицательное число с плавающей запятой десятичной частью, состоящей как минимум из 1 цифры (не совпадает, например. .5 ). — Тадек
Разве регулярное выражение не должно включать «-» перед десятичными знаками?! — Томас Х
Похоже, вы работаете с файлами LAS. Вы можете проверить libLAS чтобы увидеть, работает ли это для вас. А вот учебник.