Главная страница
Навигация по странице:

  • Сөздерді санау бағдарламасы

  • ГЛАВА 2, 3, 4, 5. 2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе


    Скачать 242.51 Kb.
    Название2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе
    Дата07.02.2022
    Размер242.51 Kb.
    Формат файлаdocx
    Имя файлаГЛАВА 2, 3, 4, 5.docx
    ТипДокументы
    #354527
    страница10 из 10
    1   2   3   4   5   6   7   8   9   10

    Format әдісінсіз пішімдеу

    Негізінде, мәндерді пішімдеу үшін біз келесі синтаксисті қолдана отырып, format әдісінсіз жасай аламыз:

    1

    строка%(параметр1, параметр2,..параметрN)


    Яғни, басында жоғарыда қарастырылған сол ойнатқыштарды қамтитын жол бар (%ойнатқышты қоспағанда), жолдан кейін % пайыздық белгі қойылады, содан кейін жолға енгізілген мәндер тізімі беріледі. Шын мәнінде, пайыздық белгі жаңа жол пайда болатын операцияны білдіреді:

    1

    2

    info = "Имя: %s \t Возраст: %d" % ("Tom", 35)

    print(info)   # Имя: Tom     Возраст: 35


    Плейсхолдердің жанында пайыздық белгі көрсетіледі және FORMAT функциясынан айырмашылығы, бұйра жақшалар қажет емес.
    Сонымен қатар, мұнда сандарды пішімдеу әдістері де қолданылады:

    1

    2

    number = 23.8589578

    print("%0.2f  - %e" % (number, number))   # 23.86  - 2.385896e+01


    Сөздерді санау бағдарламасы
    Сөздерді санау бағдарламасын ұсынатын шағын мысалмен жолдармен жұмысты қарастырыңыз.
    Бағдарламаның барлық коды келесідей болсын:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    #! Файлдағы сөздерді санау бағдарламасы

    import os

     

     

    def get_words(filename):

     

        with open(filename, encoding="utf8") as file:

            text = file.read()

        text = text.replace("\n", " ")

        text = text.replace(",", "").replace(".", "").replace("?", "").replace("!", "")

        text = text.lower()

        words = text.split()

        words.sort()

        return words

     

     

    def get_words_dict(words):

        words_dict = dict()

     

        for word in words:

            if word in words_dict:

                words_dict[word] = words_dict[word] + 1

            else:

                words_dict[word] = 1

        return words_dict

     

     

    def main():

        filename = input("Введите путь к файлу: ")

        if not os.path.exists(filename):

            print("Указанный файл не существует")

        else:

            words = get_words(filename)

            words_dict = get_words_dict(words)

            print("Кол-во слов: %d" % len(words))

            print("Кол-во уникальных слов: %d" % len(words_dict))

            print("Все использованные слова:")

            for word in words_dict:

                 print(word.ljust(20), words_dict[word])

     

     

    if __name__ == "__main__":

        main()


    Мұнда get_words () функциясында мәтіннің сөздерге бастапқы сегментациясы жасалады. Пи бұл барлық пунктуациялық белгілер жойылады, ал ағындарды ауыстыру бос орындарға ауыстырылады. Содан кейін мәтін сөздерге бөлінеді. Бөлгіш ретінде бос орын әдепкі бойынша қолданылады.
    Әрі қарай, get_words_dict() функциясында біз сөздерден сөздік аламыз, мұнда кілт - ерекше сөз, ал мағынасы - мәтіндегі осы сөздің пайда болу саны.
    Негізгі функция файлға жолды енгізіп, белгілі бір функциялардан жоғары қоңырау шалып, барлық статистиканы шығарады.
    Бағдарламаны консольдік шығару:


    Введите путь к файлу: C:\SomeDir\hello.txt

    Кол-во слов: 66

    Кол-во уникальных слов: 54

    Все использованные слова:

    благодетель 2

    в 1

    всего 1

    вы 1

    горчичным 1

    ее 1

    ежели 3

    еще 1
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта