Содержание

math — Кол-во разрядов после запятой. Python

Вопрос задан

Изменён 4 месяца назад

Просмотрен 15k раз

Есть число a типа float
Надо определить кол-во знаков после запятой в этом числе.
Например, для a = 0.25 это 2.

  • python
  • math
  • float

4

from decimal import Decimal
print Decimal(str(0.25)).as_tuple().exponent*(-1)

@jfs верно заметил, что число типа float может принимать разные формы: оно может быть такого вида: 1e-5. И если сложить

0.1 + 0.2

Результат будет не совсем таким, который можно предсказать.

0.30000000000000004

А тут 0.1 после единицы вообще сколько угодно нолей может быть.

В любом случае, вам без преобразования числа в строку никак не найти количество знаков после запятой.

Поэтому я предлагаю следующий код, чтобы не повторяться с предыдущими ответами:

number = 123.123123
s = str(number)
print(abs(s.find('.') - len(s)) - 1)

Преобразовываем в функцию:

def get_count(number):
    s = str(number)
    if '.' in s:
        return abs(s.find('.') - len(s)) - 1
    else:
        return 0

1

>>> import math
>>> math.pi
3.141592653589793
>>> print(len(str(math.pi).split('.')[1])) # 15

2

Если через строки, то:

def get_precision(f):
    str_f = str(f)
    if '.' not in str_f:
        return 0
    # Получение строки после точки и возвращение ее длины
    return len(str_f[str_f. index('.') + 1:])
print(get_precision(0.25))  # 2
print(get_precision(0.345))  # 3
import math
# pi = 3.141592653589793
print(get_precision(math.pi))  # 15

3

def get_dot_count(number): return (len(str(float(number))[str(float(number)).index('.')+1:]) if str(float(number))[str(float(number)).index('.')+1:]!='0' else 0)

1

Без преобразования в строку (и тому подобного):

def fractional_part_len(number_to_count):
    count = 0
    
    while number_to_count % 1 != 0:
        number_to_count *= 10
        count += 1
    
    return count
print(fractional_part_len(0.25))  # 2
print(fractional_part_len(1e-5))  # 5
print(fractional_part_len(256))  # 0

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Как делается предварительный просчет перевода?

В данной статье вы можете ознакомиться с тем, как производятся расчеты в письменных переводах и какие бесплатные услуги включены в стоимость. Это займет не более 1 минуты, но вы узнаете крайне полезную информацию!

Как делается предварительный просчет?

Что такое 1800?

Это количество знаков с пробелами 1 учетной страницы, также ее называют — машинописная страница или переводческая страница.

Почему учетная страница — это 1800 знаков с пробелами?

До появления современных компьютеров текст набирали на пишущих машинках, профессия наборщиков текста называлась – машинистка, т.к. 99.9% это были девушки. На пишущей машинке не было такого разнообразия шрифтов и их размеров, и на одном листе формата А4 вмещалось примерно от 1800 до 1860 знаков с пробелами.

Что такое коэффициент увеличения текста?

При переводе, особенно на русский язык, объем текста зачастую увеличивается, т.к. слова в русском языке длиннее. Например, в технических текстах часто встречаются сокращения, которые нужно расшифровывать, поэтому и количество знаков на выходе получается больше. Кроме этого, если текст исходника в форматах PDF или JPG, то всегда есть вероятность, что программа не сможет корректно распознать текст в рисунках или текст на отсканированной странице будет низкого качества и, опять же, количество знаков при переводе увеличится.

Поэтому, чтобы предусмотреть и учесть такие моменты, мы используем коэффициент увеличения текста для разных языков.
Если хотите узнать больше о коэффициентах, то внизу этой страницы расположена ссылка для перехода к статье «Таблица лаконичности», из которой вы почерпнете дополнительную информацию по данному вопросу!

Как делается окончательный расчет?

Если сумма при окончательном расчете меньше суммы предварительного просчета?

Очень часто итоговая стоимость перевода после окончательного просчета оказывается ниже предварительной, в таких случаях мы делаем перерасчет и вы платите меньше!

Если сумма окончательного расчета больше суммы предварительного просчета?

Вы не платите больше суммы предварительно просчета!

Как узнать кол-во знаков с пробелами?

В файле Word внизу слева вторая вкладка – «число слов», кликнув по ней, вы увидите контекстное меню, в котором есть позиция: кол-во знаков с пробелами.

А если документ в форматах PDF или JPG?

Сначала распознаем текст через программу Fine Reader (рис. 2) или Adobe Acrobat Pro, затем конвертируем распознанный материал в формат Word и делаем стандартный просчет. Учтите, что программы для распознавания текста не совершенны, они не могут распознать подписи, печати, картинки, поэтому предварительная стоимость рассчитывается с учетом коэффициента увеличения текста, о котором мы писали ранее.

Что входит в стоимость?

В стоимость, указанную в просчете, входят следующие услуги:

— перевод в стандартные сроки профессиональным переводчиком, специализирующимся на той или иной тематике;

— корректорская вычитка переведенного текста;

— базовое оформление итогового текста.

Как понять, насколько качественным будет ваш перевод?

Закажите тестовый перевод и мы сделаем его бесплатно, чтобы вы смогли оценить качество нашей работы. Размер тестового перевода — не более 1800 знаков с пробелами (т.е. 1 учетная страница). Вы сами можете выбрать любую страницу вашего текста для тестового перевода.

Как выглядит базовое оформление, которое входит в стоимость?

Вы можете посмотреть, как мы оформляем наши переводы, ниже пример нашего базового перевода технической тематики с оформлением (Прим.1 инструкция Харлей исходник.eng; Прим.1 инструкция Харлей перевод.rus).

В каком виде вы получите свой перевод?

Готовый перевод высылается в формате Word, но, по вашему желанию, мы можем конвертировать его в формат PDF, чтобы оформление не слетало при пересылке или из-за разных версий программ. Если у вас договор, контракт или подобные документы, то, по вашему желанию, мы оформим перевод в две колонки (левая исходник, правая перевод).

Каков срок выполнения перевода?

Стандартный срок для выполнения перевода с/на распространенные европейские языки (английский, немецкий, французский, испанский, итальянский) — 7 учетных страниц за 1 рабочий день. Также, возможен срочный перевод — до 12 учетных страниц за 1 рабочий день. При больших заказах, когда в работу единовременно поступает от 100 учетных страниц юридического или технического текста, мы переводим по 20-30 и более учетных страниц в день (в зависимости от сложности текста). В каждом случае срочность исполнения и наценка за срочность оговаривается отдельно, исходя из объема, сложности текста, требованиям заказчика к редактуре материала, наличия у заказчика глоссария или ранее переведенных текстов той же тематики.

Высылайте свои материалы на нашу почту, наши менеджеры сделают просчет течение 10 -15 минут!

Если у вас появились вопросы к вышеизложенному или нам не удалось осветить какой-либо важный для вас момент, просим написать нам об этом на нашу почту: Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.

Ссылка на статью: Таблица лаконичности

Как ограничить количество символов в поиске и заменить только определенный символ в Word

Как ограничить количество символов в поиске и заменить только определенный символ в Word

Когда задача «Замена» выходит за рамки основ, она требует подстановочных знаков и специальных знаний. Узнайте, как использовать определенные подстановочные знаки, чтобы ограничить количество символов в строке поиска.


Изображение: istock/BongkarnThanyakij

Обязательная к прочтению информация о Windows

  • Виндовс 11 22х3 уже здесь
  • Контрольный список: защита систем Windows 10
  • Как очистить кеш DNS в Windows 10
  • Защитите свою сеть с помощью внешних служб безопасности Майкрософт

Функция «Заменить» в Microsoft Word — это мощный инструмент, который может выполнять практически любую задачу поиска. Проблема в том, что он настолько мощный, что у пользователей возникают проблемы с его применением помимо основ. Легко заменить буквальное значение другим, но как только вы добавите несколько условий, задача усложнится. Например, знаете ли вы, как ограничить количество символов в строке поиска? Знаете ли вы, как заменить один или несколько символов в строке поиска, не трогая другие символы? В этой статье мы решим обе проблемы в одной поисковой задаче.

Даже если вы эксперт, вы можете узнать что-то новое.

SEE: 69 советов по Excel, которые должен усвоить каждый пользователь (TechRepublic)

Я использую Microsoft 365 в 64-разрядной системе Windows 10. Вы можете работать со своими собственными данными или использовать загружаемый демонстрационный файл .docx или .doc. Вы не можете использовать подстановочные знаки в онлайн-поиске документов. В этой статье предполагается, что у вас есть базовые навыки работы с Word.

Как использовать функцию замены в Word

Поначалу задача «Найти и заменить», которую мы собираемся изучить, кажется простой. Предположим, у вас есть документ Word с несколькими трехзначными числами, начинающимися с 3, и вы хотите изменить 3 на 5. Например, 352 становится 552, 301 становится 501, 39.9 становится 599 и так далее. Как обычно, есть простой способ, но он не ограничивает количество цифр (или символов) в строке поиска. В этом случае существует более сложный набор параметров поиска и замены, который ограничивает задачу только трехзначными числами.

Теперь давайте начнем!

Простой способ замены символа в Word

При замене только символов в начале строки поиска можно использовать параметр «Сопоставление префикса». Этот параметр соответствует словам, начинающимся с параметра «Найти»; вы можете заменить этот символ другим символом без изменения остальных символов.

На рисунке A показан простой документ с несколькими номерами. Давайте посмотрим, что происходит, когда мы используем эту опцию в этом документе:

  1. Нажмите Ctrl+H, чтобы открыть диалоговое окно «Заменить».
  2. Нажмите «Еще» и внизу нажмите «Без форматирования». Если этот параметр недоступен, вы можете пропустить этот шаг.
  3. Щелкните внутри элемента управления «Найти что» и при необходимости удалите его содержимое перед вводом 3.
  4. Щелкните внутри элемента управления «Заменить на» и при необходимости удалите его содержимое перед вводом 5. (См.
    Рисунок A
    .) Здесь важно отметить, что функция «Заменить» запоминает последнюю задачу. Вот почему важно удалить форматирование и предыдущий поиск и заменить строки перед началом.
  5. В нижней панели установите флажок «Сопоставление префикса».
  6. Нажмите «Заменить все», нажмите «ОК» для подтверждения и закройте диалоговое окно.

Рисунок А

Результаты показаны справа на рис. A . Как видите, эта задача заменяет все тройки на пятерки, когда цифра 3 стоит в начале числа. Не учитывает количество цифр в числе.

Это простое решение может сработать, но если вам нужно ограничить изменение числами с определенным количеством цифр, вам потребуется другая задача замены.

Как использовать подстановочные знаки для замены символа в Word

Если параметр «Сопоставление префикса» недостаточно ограничителен, вы все равно можете использовать «Заменить», но для обоих параметров потребуются подстановочные знаки. Давайте переформулируем проблему: мы хотим заменить 3 на 5, когда 3 стоит в начале трехзначного числа. Вы можете сделать это со следующими настройками:

  • Найти что:
  • Заменить на: 512

Давайте рассмотрим тот же пример, а затем обсудим, как он работает. Во-первых, шаги:

  1. Нажмите Ctrl+H, чтобы открыть диалоговое окно «Заменить».
  2. Нажмите «Еще» и внизу, если необходимо. (Не забудьте щелкнуть «Без форматирования» в будущем; на этот раз в этом нет необходимости.)
  3. Щелкните внутри элемента управления «Найти что» и при необходимости удалите его содержимое, прежде чем вводить .
  4. Щелкните внутри элемента управления «Заменить на» и при необходимости удалите его содержимое, прежде чем вводить 512 . (См. рис. B .)
  5. В нижней панели снимите флажок «Совпадать с префиксом» и установите флажок «Использовать подстановочные знаки».
  6. Нажмите «Заменить все», нажмите «ОК» для подтверждения и закройте диалоговое окно.

Рисунок В

Как вы можете видеть на Рисунок C , настройки сработали! Параметр «Найти что» соответствует всем трехзначным числам, начинающимся с 3. Параметр «Заменить на» заменяет 3 на 5. Есть только два трехзначных числа, которые начинаются с 3, а после задачи они начинаются с 5. Ни одно из остальные номера изменены.

Рисунок С

Теперь пришло время узнать, как работают настройки. Во-первых, давайте разберем настройку «Найти что»:

.
  • Обозначает конец.
  • Первый компонент
  • Символы () представляют диапазон. В этом случае ([0-9]) будет соответствовать любому числу во второй позиции. Точно так же тот же компонент найдет любое число на третьей позиции.
  • Использование > заставляет Word прекратить поиск после третьей цифры.

Соберите все вместе, и вы получите строку поиска, которая указывает трехзначное число, начинающееся с 3. Теперь давайте рассмотрим настройку «Заменить на»:

  • 5 — это буквенный символ в первой позиции, и поэтому он заменяет 3, первый буквенный символ в настройке «Найти что».
  • Этот символ позволяет указать диапазон — помните, что это подстановочные знаки, заключенные в квадратные скобки ([ ]). или подчеркивание (_). Затем запустите вторую задачу, чтобы заменить специальный символ на 5. На самом деле это не намного больше работы, и если вы не так хорошо разбираетесь в подстановочных знаках, это может быть быстрее, чем пытаться разработать одношаговое решение с подстановочными знаками. .

    Сьюзен Харкинс

    Опубликовано: Изменено: Увидеть больше Программное обеспечение

    См. также

    • Microsoft 365: шпаргалка (ТехРеспублика)
    • Zoom против Microsoft Teams, Google Meet, Cisco WebEx и Skype: выбор подходящих приложений для видеоконференций (бесплатный PDF) (ТехРеспублика)
    • Контрольный список: защита систем Windows 10 (ТехРеспублика Премиум)
    • Все, что вам нужно знать о взломе Microsoft Exchange Server (ЗДНет)
    • Обязательно к прочтению: Windows 10 (TechRepublic на Flipboard)
    Поделиться: Как ограничить количество символов в поиске и заменить только определенный символ в Word
    • Майкрософт
    • Программное обеспечение

    Выбор редактора

    • Изображение: Rawpixel/Adobe Stock ТехРеспублика Премиум

      Редакционный календарь TechRepublic Premium: ИТ-политики, контрольные списки, наборы инструментов и исследования для загрузки

      Контент TechRepublic Premium поможет вам решить самые сложные проблемы с ИТ и дать толчок вашей карьере или новому проекту.

      Персонал TechRepublic

      Опубликовано: Изменено: Читать далее Узнать больше
    • Изображение: Nuthawut/Adobe Stock
    • Изображение: WhataWin/Adobe Stock Безопасность

      Основные угрозы кибербезопасности на 2023 год

      В следующем году киберпреступники будут как никогда заняты. Готовы ли ИТ-отделы?

      Мэри Шеклетт

      Опубликовано: Изменено: Читать далее Узнать больше Безопасность
    • Изображение: Разные фотографии/Adobe Stock Облако

      Salesforce дополняет свой технологический стек новыми интеграциями для Slack, Tableau

      Компания, которая в течение нескольких лет закупала лучшие в своем классе продукты, интегрирует платформы для создания синергии для скорости, понимания и совместной работы.

      Карл Гринберг

      Опубликовано: Изменено: Читать далее Увидеть больше Облако
    • физкес / iStock
    • Изображение: Bumblee_Dee, iStock/Getty Images Программное обеспечение

      108 советов по Excel, которые должен усвоить каждый пользователь

      Независимо от того, являетесь ли вы новичком в Microsoft Excel или опытным пользователем, эти пошаговые руководства принесут вам пользу.

      Персонал TechRepublic

      Опубликовано: Изменено: Читать далее Увидеть больше Программное обеспечение

    Программа Python для подсчета количества символов в строке

    Улучшить статью

    Сохранить статью

    • Последнее обновление: 27 фев, 2023

  • Прочитать
  • Обсудить
  • Улучшить статью

    Сохранить статью

    Дана строка. Задача состоит в том, чтобы вернуть количество символов в строке.

    Примеры:

    Вход : test_str = ‘Geeksforgeeks !! $ *** Лучшие 4 Все вунда

    Ввод : test_str = ‘geeksforgeeks !!$*** лучший для всех гиков 10—0’
    Вывод : 27
    Объяснение : Только алфавиты, при подсчете 27

    Метод №1: Использование isalpha() + len()

    В этом подходе мы проверяем, является ли каждый символ алфавитом, используя isalpha() и len() используются для получения длины списка алфавитов для подсчета.

    Python3

     

    test_str = 'geeksforgeeks !!$ is best 4 all Geeks 10-0'

     

    print ( "The original string is : " + str (test_str))

     

    res = len ([ele for ele in test_str if ele. isalpha()])

     

    print ( "Count of Alphabets : " + str (res))

    Вывод

     Исходная строка: geeksforgeeks !!$ is best 4 all Geeks 10-0
    Подсчет алфавитов: 27 

    Сложность времени: O (n)
    Вспомогательное пространство: O (N)

    Метод № 2: Использование ASCII_UPPERCASE () + 4AY_LAI_LAI_LEI_LEI_LOPERCASE () + 4AY_LAI_LEI_LEI_LOPCASE () + 4. len()

    В этом мы выполняем задачу получения алфавитов как комбинации верхнего и нижнего регистра, используя встроенные функции, len() возвращает частоту.

    Python3

    import string

     

    test_str = 'geeksforgeeks !!$ is best 4 all Geeks 10-0'

     

    print ( "The original string is : " + str (test_str))

     

    res = len ([ele for ele in test_str if ele in string. ascii_uppercase or ele in string.ascii_lowercase])

     

    print ( "Количество алфавитов:" + str (res))

    Выход

     Исходная строка isgeeks 4 !!
    Количество алфавитов: 27 

    Временная сложность: O(n)
    Вспомогательное пространство: O(n)

    Метод 3. Использование функции sum()

    Используйте функцию sum() вместе с генератором выражения который проверяет, является ли каждый символ в строке алфавитом, используя isalpha().

    Python3

     

    test_str = 'geeksforgeeks 10 лучших !!$ 100286

     

    print ( "The original string is : " + str (test_str))

     

    res = sum ( 1 для C в TEST_STR IF C.



    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *