С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 1 / 1
Регистрация: 03.01.2020
Сообщений: 35
1

Некоректно работает программа по определению кириллицы, латиницы, и цифр в тексте

16.08.2020, 23:48. Показов 830. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа принимает. На выходе выдаёт словарь со всеми словами, где ключами являются сами слова из текста а определениями как раз к какому виду это слово принадлежит. Программа работает, но почему то когда вводишь допустим 100 слов, 15 слов куда то деваются и не определяются. Но при обнаружение тех слов которые не попали в список, и вводе их отдельно от текста, программа их распознает, а главное делает это верно. Снизу дам сам код и тестовый текст.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
o= input().split()
s={}
leng=0
alph_en=['q','w','e','r','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m']
num=['1','2','3','4','5','6','7','8','9']
for i in o:
  r= list(i)
  r = [xr.lower() for xr in r]
  for x in alph_en:
    if x == r[0]:
      leng += 1
  for h in num:
    if h == r[0]:
      leng += 2
  if leng == 0:
    s.update({i:"rus"})
  if leng == 1:
    s.update({i:"eng"})
  if leng == 2:
    s.update({i:"num"})
  leng= 0
print(s)


Соображения высшего порядка, а также курс на социально-ориентированный национальный проект способствует повышению актуальности существующих финансовых и административных условий. Равным образом дальнейшее развитие различных форм деятельности позволяет выполнить важнейшие задания по разработке всесторонне сбалансированных нововведений! Задача организации, в особенности же новая модель организационной деятельности играет важную роль в формировании системы обучения кадров, соответствующей насущным потребностям. С другой стороны дальнейшее развитие различных форм деятельности обеспечивает актуальность дальнейших направлений развития проекта. Таким образом, консультация с профессионалами из IT требует от нас анализа ключевых компонентов планируемого обновления. Повседневная практика показывает, что дальнейшее развитие различных форм деятельности позволяет оценить значение модели развития. Равным образом начало...
100 слов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2020, 23:48
Ответы с готовыми решениями:

Шифр Виженера для кириллицы, латиницы и цифр
Здравствуйте уважаемые форумчане! Писал когда-то шифр Виженера для Кириллицы вот код using System;...

Штрихкод состоит из латиницы, кириллицы и цифр. Будут ли проблемы в его правильном считывании (сканировании) сканером?
Форумчане, доброго времени суток! Планируем использовать штрихкод состоящий из латиницы,...

Программа работает некоректно
Здраствуйте, обьясняю ситуацию. Изначально при запуске программы выдало ошибку C2064 и открывало...

Некоректно работает программа
Дорое утро всем. У меня возникло несколько вопросов . 1. Не пойму почему не могу выбрать 8 и 9...

Почему программа работает некоректно?
Здравствуйте. Прошу особо не ругать, т.к. только изучаю программирование. Работаю в Android studio,...

3
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
17.08.2020, 02:34 2
Можно проще:
Python
1
2
3
4
5
6
7
8
9
10
11
12
text = input('>')
dictionary = {}
for char in text:
    if char.isnumeric(): # цифра
        dictionary[char] = 'num'
    elif not char.isalnum(): # знак препинания
        dictionary[char] = 'symbol'
    elif 97 <= ord(char.lower()) <= 122: # 97 - юникод 'a', 122 - 'z'
        dictionary[char.lower()] = 'eng'
    else: # кириллица
        dictionary[char.lower()] = 'rus'
print(dictionary)
Справка: ord(символ) вертает код символа в Unicode, английский алфавит низкого регистра лежит в пределах 97- 122.
1
2 / 1 / 1
Регистрация: 03.01.2020
Сообщений: 35
17.08.2020, 22:00  [ТС] 3
Спасибо ваш код работает, но я хотел определять не символ а слово, просто по первой букве. И мне даже просто интересно почему мой код принимая каждое слово по отдельности работает как надо, а когда вбиваешь много слов то какие то слова пропадают
0
Эксперт Python
8787 / 4442 / 1859
Регистрация: 27.03.2020
Сообщений: 7,271
18.08.2020, 04:56 4
В вашем коде тогда :
Python
1
o= list(input().split())
А в коде ниже:
Python
1
2
3
4
5
6
7
8
9
10
11
12
text = list(input('>').split())
dictionary = {}
for char in text:
    if char[0].isnumeric(): # цифра
        dictionary[char] = 'num'
    elif not char[0].isalnum(): # знак препинания
        dictionary[char] = 'symbol'
    elif 97 <= ord(char[0].lower()) <= 122: # 97 - юникод 'a', 122 - 'z'
        dictionary[char.lower()] = 'eng'
    else: # кириллица
        dictionary[char.lower()] = 'rus'
print(dictionary)
0
18.08.2020, 04:56
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.08.2020, 04:56
Помогаю со студенческими работами здесь

Конфликт латиницы и кириллицы
Добрый день, возникла проблема. Сделал простую форму на основе html и php, выборка осуществляется с...

Подсчет символов латиницы и кириллицы в richtextBox
Доброго времени суток. Дали задание Программа (локальная) для подсчета текстов разного формата. ...

Генерация случайных букв (не важно - латиницы или кириллицы)
Добрый день. Обращалась к просторам интернета, но так и не нашла нужной информации. Необходимо...

Проверка на ввод символов латиницы и кириллицы через checkbox
У меня проблема: мне нужно сделать проверку на ввод символов латиницы и кириллицы через checkbox в...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru