лабы / отчет прога лаба 6
.docx
Ф
ЕДЕРАЛЬНОЕ
АГЕНСТВО ВОЗДУШНОГО ТРАНСПОРТА
(РОСАВИАЦИЯ)
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ» (МГТУ ГА)
Кафедра вычислительных машин, комплексов, сетей и систем.
Лабораторная работа защищена с оценкой ____________________
____________________
(подпись преподавателя, дата)
ЛАБОРАТОРНАЯ РАБОТА №6
по дисциплине «Современные технологии программирования».
Вариант №16
Тема: «Строки и обработка текстовой информации»
Выполнила студентка группы ИС 2-1
Магальник Екатерина Борисовна
Руководитель: Гаранин Сергей Александрович
МОСКВА – 2023
Цель работы: приобрести навыки работы с Python строками и закрепить их на примере разработки интерактивных приложений.
Основное задание
Написать программу «Анаграммы» («Anagrams»). Суть игры заключается в следующем: формируется группа слов в виде кортежа (tuple), компьютер случайным образом выбирает одно из слов, и случайным образом переставляет в нем буквы, а затем представляет пользователю (игроку). Цель игрока – угадать выбранное и «перемешанное» компьютером слово.
Текст программы:
def get_user_input(): #функция проверки ввода строки while True: try: return input("Ваш ответ: ") except ValueError: print("Недопустимый формат ввода. Попробуйте ввести снова") import random word_group = ("белка", "жираф", "керамбит", "линейка", "абитуриент", "лимон", "клубника", "черника", "Майнкрафт", "Террария", "голубика", "Клуб романтики",) s = "" while s != "Нет": chosen_word = random.choice(word_group) shuffled_word = ''.join(random.sample(chosen_word, len(chosen_word))) print("Угадайте анаграмму: ", shuffled_word) guess = get_user_input() while guess != chosen_word: if guess != chosen_word: print("Неверно! Попробуйте еще раз.") else: print("Верно! Загаданное слово: ", chosen_word) print("Хотите продолжить? Введите 'Да' если хотите и 'Нет' если не хотите") s = get_user_input()
|
Результат работы программы:
Индивидуальное задание. Задание 1. В соответствии с заданием своего варианта составить программу для анализа текста, вводимого с клавиатуры.
Задание 2. Дана строка текста, в которой слова разделены пробелами и запятыми. В соответствии с заданием своего варианта составьте программу для анализа строки, инициализированной в коде программы: «So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid, whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.» Если не оговорено иное, то регистр букв при решении задачи не имеет значения.
Текст программы:
print("Введите строку") string = input() k = 0 i = 0 while i != len(string): if string[i] =="." or string[i] =="," or string[i] =="!" or string[i] ==":" or string[i] ==";" or string[i] =="?": k+=1 i += 1 print("Количество знаков пунктуаци в строке:", k) string1 = "So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid, whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her." list = ['b', 'c', 'd', 'f', 'g', 'h', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'z'] k1 = 0 i = 0 while i != len(string1): if string1[i] == ' ' or string1[i] =="," or string1[i] ==".": if string1[i-1] in list: k1+=1 i+=1 print("Количество слов, заканчивающихся на солгасную:", k1) i = 0 sum = 0 k3 = 0 s1 = '' s = '' while i != len(string1): sum2 = 0 if string1[i] != ' ' or string1[i] =="," or string1[i] ==".": while string1[i] != ' ' and string1[i] != "," and string1[i] != ".": sum2+=1 #длина слова i+=1 sum = sum + sum2 k3+=1 if k3%7 == 0: i2 = i-1 s = '' while string1[i2] != ' ' and string1[i2] != "," and string1[i2] != ".": s = s+string1[i2] i2-=1 s1 = s j = ''.join(reversed(s1)) print("Седьмое слово", j) i+=1 sred = round(sum/k3) #print("Средняя длина:", sred) i = 0 count = 0 k4 = 0 while i != len(string1): if string1[i] != ' ' or string1[i] != "," or string1[i] != ".": count += 1 if count == sred: k4+=1 i+=1 if k4 != 0: print("Количество слов, длина которых равна средней длине:", k4) else: print("Слов длиной", sred, "символов в строке нет") |
Результат работы программы:
