• Предмет: Информатика
  • Автор: ratesd2345678901
  • Вопрос задан 5 месяцев назад

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

Приложения:

Ответы

Ответ дал: nikdissv
1

import string

text = (

   "Не следует, однако, забывать, что начало повседневной работы по формированию позиции однозначно фиксирует "

   "необходимость переосмысления внешнеэкономических политик. но непосредственные участники технического прогресса и "

   "по сей день остаются уделом либералов, которые жаждут быть смешаны с не уникальными данными до степени "

   "совершенной неузнаваемости, из-за чего возрастает их статус бесполезности! Противоположная точка зрения "

   "подразумевает, что представители современных социальных резервов неоднозначны и будут функционально разнесены на "

   "независимые элементы."

)

MENU = """\

1 - Изменить текст таким образом, чтобы каждое предложение начиналось с большой буквы;

2 - Посчитайте сколько раз цифры встречаются в тексте;

3 - Посчитайте сколько раз знаки препинания встречаются в тексте;

4 - Посчитайте количество восклицательных знаков в тексте;

5 - Поиск целого слова в тексте;

6 - Разбитие и вывод текста по строкам."""

print(MENU)

action = int(input("Выберите пункт меню: "))

if action == 1:

   sentences = []

   sentence = ''

   for letter in text:

       sentence += letter

       if letter in ".!?…":

           sentence = sentence.strip()  # strip, чтобы убрать лишние пробелы по бокам

           # Предложение закончилось. Сделаем первую букву большой.

           first_word, *other_words = sentence.split(' ')

           # разделить предложение на слова (через пробел), первое в first_word, остальные в список слов other_words

           # первую большой, остальные просто добавить

           # добавим новое готовое предложение

           sentences.append(f"{first_word[0].upper()}{first_word[1:]} {' '.join(other_words)}")

           sentence = ''

   text = ' '.join(sentences)

   print(text)

elif action == 2:

   digit_count = 0  # счётчик

   for letter in text:

       if letter in string.digits:  # вместо string.digits можно просто написать '0123456789'

           digit_count += 1

   print('Всего', digit_count, 'чисел.')  # Напишет эти слова через пробел

elif action == 3:

   punctuation_count = 0

   for letter in text:

       # string.punctuation = r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""; Наиболее полный список знаков

       # можно написать и поменьше, например if letter in ".,-:;/!?":

       if letter in string.punctuation:

           punctuation_count += 1

   print('Всего', punctuation_count, 'знаков препинания.')

elif action == 4:

   # Если вам нужно посчитать всего один символ (или их последовательность), у строк есть метод count

   print('Всего', text.count('!'), 'восклицательных знаков.')

elif action == 5:

   # спрашиваем искомое слово, убираем лишние знаки препинания (если они там почему-то есть)

   # casefold - приведёт слово к нижнему регистру, чтобы поиск был не чувствителен к регистру (это необязательно)

   search_word = input('Введите слово: ').strip(string.punctuation).casefold()

   for word in text.split():  # пробегаемся по каждому слову текста

       # также убираем пунктуацию по бокам

       # если они равны - слово найдено,

       if word.strip(string.punctuation).casefold() == search_word:

           print('Слово найдено!')

           break  # принудительно выходит из цикла

elif action == 6:

   for line in text.splitlines():  # разбиваем на строки; можно написать text.split('\n')

       print(line)

else:

   print('Не верный номер.')

# По поводу f-строк (f"{some} string"), просто красивая запись str(some)+' string'

# Смотрите https://peps.python.org/498 этот инструмент мощнее чем кажется.


ratesd2345678901: Лучший
ratesd2345678901: Огромное тебе спасибо
ratesd2345678901: Прости
ratesd2345678901: Можешь как обычно помочь?
ratesd2345678901: Пожалуйста
Вас заинтересует