Как найти среднюю букву

A median letter in a word is the letter present in the middle of the word and if the word length is even the middle letter is the left one out of the two middle letters.

For example , consider “apple” . The program should return ‘p’.

As another example , consider “baba” . The program should return ‘a’.

Also , i would like to ask if statistics.median in python would be able to do it .(i don’t know if it works on strings as well as I’m new to python programming)

Please prefer to answer in python 2.7 as I’m more comfortable in python 2.7 compared to python 3 , though any help is welcome .

Thanks 😀

asked Jun 20, 2017 at 6:47

Kartik Madaan's user avatar

2

Python strings are list of characters . For example :

a = "My String"

print a[0] #Prints M

print a[-1] #Prints g

len returns the length of the string in integer

print len(a) #Prints 9

using this we can :

def returnMedian(mystring):
    return mystring[(len(mystring)-1)/2]  #len returns the length of the string

print returnMedian("abcde")  #prints c
print returnMedian("baba")   #prints a

answered Jun 20, 2017 at 6:56

Abhimanyu singh's user avatar

1

You really should show an attempt to solve the problem yourself. Stack-overflow is not a free code service.

However it will be as simple as getting the size of the array, halving it and then accessing the halved index.

my_str = "Hello World!"
half_len = int(len(my_str) / 2)
print my_str[half_len]

Make sure to return an int (whole number) when halving length of str. Otherwise the halved value may return a decimal place value, which will throw an exception when trying to access the str by index.

When typecasting a decimal number to int (via int()), by default it will round down to the nearest whole number. This is common among most (all?) languages.

answered Jun 20, 2017 at 6:52

ChickenFeet's user avatar

ChickenFeetChickenFeet

2,61322 silver badges26 bronze badges

9

String = "a b a x a d a 5"
Item = String.split(" ")
if float.is_integer(len(Item) / 2):
    Item_1, Item_2 = Item[int((len(Item) / 2) - 1)], Item[int(((len(Item) / 2)))]
    print(Item_1, Item_2)
else:
    Item = Item[int(((len(Item) / 2) - 0.5))]
    print(Item)

This is my attempt and it works flawlessly.

answered Jun 20, 2017 at 8:30

Krohnus Melavea's user avatar

Онлайн калькулятор легко и непринужденно поможет определить среднюю длину слова в тексте. Вычисляет среднюю длину русских и английских слов.

Текст

Символов 0

Символов без учета пробелов 0

Уникальных символов 0

Слов 0

Слов (буквенных) 0

Уникальных слов 0

Строк 0

Абзацев 0

Предложений 0

Букв 0

Русских букв 0

Латинских букв 0

Гласных букв 0

Согласных букв 0

Слогов 0

Цифр 0

Чисел 0

Пробелов 0

Остальных знаков 0

Знаков препинания 0

Время чтения 0 сек

Средняя длина слова 0

Объем текста (Unicode UTF-16) байт 0

Объем текста (ASCII, ANSI, Windows-1251) байт 0

×

Пожалуйста напишите с чем связна такая низкая оценка:

×

Для установки калькулятора на iPhone – просто добавьте страницу
«На главный экран»

Для установки калькулятора на Android – просто добавьте страницу
«На главный экран»

Примеры кода

javascript как получить средние буквы строки

 function extractMiddle(str) {

        var position;
        var length;

        if(str.length % 2 == 1) {
            position = str.length / 2;
            length = 1;
        } else {
            position = str.length / 2 - 1;
            length = 2;
        }

        return str.substring(position, position + length)
    }

    console.log(extractMiddle("handbananna"));

Похожие страницы

Похожие страницы с примерами

На других языках

Эта страница на других языках

empty row

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

……………………………………………………………………………………………………

Популярное в этой категории

Популярные страницы с примерами в категории

empty row

Среднее буквенное значение

Gajka02

Дата: Суббота, 17.09.2016, 16:31 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Здравствуйте. На работе столкнулась с проблемой.
Есть всего три обозначения буквенные которые вносятся в таблицу и необходимо посчитать среднее. Реально ли это вообще?
обозначения с (среднее), в (высокое), н (низкое)

Помогите пожалуйста.

 

Ответить

Nic70y

Дата: Суббота, 17.09.2016, 16:34 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8209


Репутация:

2025

±

Замечаний:
0% ±


Excel 2010

нифига не понял.
покажите в файле, что есть и какой результат хотите получить.
так, что ли:


ЮMoney 41001841029809

 

Ответить

gge29

Дата: Суббота, 17.09.2016, 17:19 |
Сообщение № 3

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 244


Репутация:

3

±

Замечаний:
0% ±


как-то так

К сообщению приложен файл:

111.xlsx
(10.8 Kb)

 

Ответить

Gajka02

Дата: Понедельник, 19.09.2016, 06:21 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

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

К сообщению приложен файл:

11111.xlsx
(8.3 Kb)

 

Ответить

Pelena

Дата: Понедельник, 19.09.2016, 07:08 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 18851


Репутация:

4298

±

Замечаний:
±


Excel 2016 & Mac Excel

Вы бы пояснили критерий, по которому из различных сочетаниях букв должен получиться результат. В примере бы вручную написали, а то как-то всё расплывчато.
Так, например, не подойдёт?

Код

=ВЫБОР(ОКРУГЛ(СУММ(СЧЁТЕСЛИ(B3:F3;”в”)*3;СЧЁТЕСЛИ(B3:F3;”с”)*2;СЧЁТЕСЛИ(B3:F3;”н”))/5;0);”н”;”с”;”в”)


“Черт возьми, Холмс! Но как??!!”
Ю-money 41001765434816

 

Ответить

AlexM

Дата: Понедельник, 19.09.2016, 09:13 |
Сообщение № 6

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Укороченная формула Елены (Pelena)

Код

=ВЫБОР(ОКРУГЛ(СУММ(СЧЁТЕСЛИ(B3:H3;{“в”:”с”:”н”})*{3:2:1})/5;0);”н”;”с”;”в”)

PS. почему то не получилось вставить формулу без 0 в функции ОКРУГЛ(). Точка с запятой без пробела между знаками дают смайл.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

Сообщение отредактировал AlexMПонедельник, 19.09.2016, 09:21

 

Ответить

_Boroda_

Дата: Понедельник, 19.09.2016, 09:20 |
Сообщение № 7

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16620


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Не очень понятно, что же Вам в итоге нужно.
Возможно, что-то из этого подойдет

Код

=ИНДЕКС({“н”;”с”;”в”};МОДА(ПОИСКПОЗ(B3:F3;{“н”;”с”;”в”};)))

Код

=ИНДЕКС({“н”;”с”;”в”};СРЗНАЧ(ПОИСКПОЗ(B3:F3;{“н”;”с”;”в”};)))

Код

=ИНДЕКС({“н”;”с”;”в”};МЕДИАНА(ПОИСКПОЗ(B3:F3;{“н”;”с”;”в”};)))

Две последние – формулы массива, вводятся одновременным нажатием Контрл Шифт Ентер

И еще вариант формулы Елены

Код

=ИНДЕКС({“н”;”с”;”в”};СУММ(СЧЁТЕСЛИ(B3:F3;{“в”:”с”:”н”})*{3:2:1})/5+0,5)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Gajka02

Дата: Понедельник, 19.09.2016, 14:08 |
Сообщение № 8

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

В итоге мне надо что бы по каждому человеку считался средний уровень его развития, обозначения с (среднее), в (высокое), н (низкое). У меня несколько таблиц по разным направлением развития и в каждой таблице от 5 до 10 критерий в которых мы выставляем одно из обозначений, а потом считаем среднее развитие

Мне очень помогли ваши ответы, спасибо ОГРОМНОЕ

 

Ответить

pers_ona

Дата: Пятница, 09.12.2016, 16:44 |
Сообщение № 9

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

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

К сообщению приложен файл:

5723666.xlsx
(14.4 Kb)

Сообщение отредактировал pers_onaПятница, 09.12.2016, 16:44

 

Ответить

Pelena

Дата: Пятница, 09.12.2016, 18:32 |
Сообщение № 10

Группа: Админы

Ранг: Местный житель

Сообщений: 18851


Репутация:

4298

±

Замечаний:
±


Excel 2016 & Mac Excel

Прочитайте Правила форума и создайте свою тему. Эта тема закрыта


“Черт возьми, Холмс! Но как??!!”
Ю-money 41001765434816

 

Ответить

На чтение 4 мин. Просмотров 83 Опубликовано 18.05.2021

Дениз знает, как определить количество слов в документе с помощью инструментов, которые предоставляет Word. Однако она задается вопросом, есть ли способ определить среднюю длину слова для выделенного текста или для всего документа.

Есть несколько способов решить эту задачу. Один из подходов – полагаться на инструменты, уже встроенные в Word. Например, на вкладке «Обзор» ленты есть инструмент «Счетчик слов». Щелкните его, и вы увидите диалоговое окно «Счетчик слов». (См. Рис. 1.)

Рис. 1. Диалоговое окно Word Count.

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

Также интересно отметить, что если ваша строка состояния настроена для отображения документа количество слов, вы также можете щелкнуть количество слов, показанных там, и Word отобразит полное диалоговое окно «Счетчик слов». (Если у вас нет строки состояния, настроенной для отображения количества слов, вы можете щелкнуть правой кнопкой мыши строку состояния, чтобы изменить то, что там отображается.)

Другой подход – включить удобочитаемость статистика для Word. Для этого выполните следующие действия:

  1. Отобразите диалоговое окно «Параметры Word». (В Word 2007 нажмите кнопку «Office», а затем «Параметры Word». В более поздних версиях Word откройте вкладку «Файл» на ленте и нажмите кнопку «Параметры».)
  2. В левой части диалогового окна щелкните значок Доказательство. (См. Рис. 2.)
  3. Рис. 2. Параметры проверки в диалоговом окне «Параметры Word».

  4. Убедитесь, что установлен флажок «Проверять грамматику с орфографией».
  5. Убедитесь, что установлен флажок Установлен флажок “Показать статистику удобочитаемости”.
  6. Нажмите “ОК”.

После внесения этого изменения конфигурации выполните проверку орфографии и грамматики ( нажмите F7 ). Word выполнит свою проверку и при необходимости запросит у вас любые изменения, которые вы, возможно, захотите внести. Когда проверка будет завершена, Word отобразит диалоговое окно «Статистика удобочитаемости». (См. Рис. 3.)

Рис. 3. Диалоговое окно «Статистика удобочитаемости».

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

Если вы хотите указать в документе среднюю длину слова, вы можете полагаться на поля делать работу за вас. Этот конкретный подход основан на трех полях: =, NUMCHARS и NUMWORDS:

 {= {NUMCHARS}/{NUMWORDS}} 

Обратите внимание, что каждая пара скобок поля вставляется в ваш документ нажатием Ctrl + F9 . В фигурных скобках вы можете ввести имена полей, как показано выше. Когда вы обновляете поле ( F9 ), вы получаете рассчитанную среднюю длину слова.

Еще один подход – использовать макрос для выполнения вычислений. Это стало возможным, потому что Word в VBA отслеживает как символы, так и слова в выделенном фрагменте.

 Sub AvgWord () Dim dAvg As Double If Selection.Type  wdSelectionIP Then 'Выбор текста  был сделан dAvg = Selection.Characters.Count/Selection.Words.Count Else 'Без выделения, поэтому используйте весь документ dAvg = ActiveDocument.Characters.Count/ActiveDocument.Words.Count End If MsgBox «Средняя длина слова равна» & Format (  dAvg, "0.00") & "characters" End Sub 

Обратите внимание, что макрос использует свойство Type объекта Selection, чтобы определить, есть ли выделение текста во время выполнения макроса. Если да, то расчет выполняется с использованием того, что выбрано; в противном случае для расчета используется весь документ. Вы, конечно, можете назначить макросу сочетание клавиш или добавить его на панель быстрого доступа для удобного доступа.

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

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

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