форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
88 строки
7.2 KiB
Markdown
88 строки
7.2 KiB
Markdown
# Общее контрольное задание по теме 5
|
|
|
|
Беженарь Алёна, А-02-23
|
|
|
|
## Задание
|
|
|
|
Реализовать, записать в текстовый файл программы и результаты их выполнения при решении следующих задач:
|
|
* Для заданной символьной строки с англоязычным текстом (его можно заимствовать из помощи) определите порядковый номер каждой буквы в английском алфавите.
|
|
* Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом).
|
|
* Создайте список студентов вашей группы (3-4 фамилии) и список их средних баллов в летней сессии – в порядке перечисления студентов в первом списке. Создайте еще 2 аналогичных списка для тех же студентов, но в другом порядке, по зимней сессии. Напишите инструкции, позволяющие по указанной (запрошенной и введенной) фамилии студента вывести его средние баллы по двум сессиям.
|
|
|
|
|
|
|
|
## Решение
|
|
1.
|
|
```py
|
|
>>> import string
|
|
>>> text = input("Введите строку на английском языке: ")
|
|
Введите строку на английском языке: Hello world!
|
|
>>> for i in text:
|
|
... if str.lower(i) in string.ascii_lowercase: #string.ascii_lowercase - это строка, содержащая все строчные буквы английского алфавита: 'abcdefghijklmnopqrstuvwxyz'
|
|
... order = string.ascii_lowercase.index(str.lower(i)) + 1 #получение порядкого номера в английском алфавите.
|
|
... print("Порядковый номер символа \"{}\" равен {}".format(i, order))
|
|
... else:
|
|
... print("Символа \"{}\" нет в английском алфавите".format(i))
|
|
Порядковый номер символа "H" равен 8
|
|
Порядковый номер символа "e" равен 5
|
|
Порядковый номер символа "l" равен 12
|
|
Порядковый номер символа "l" равен 12
|
|
Порядковый номер символа "o" равен 15
|
|
Символа " " нет в английском алфавите
|
|
Порядковый номер символа "w" равен 23
|
|
Порядковый номер символа "o" равен 15
|
|
Порядковый номер символа "r" равен 18
|
|
Порядковый номер символа "l" равен 12
|
|
Порядковый номер символа "d" равен 4
|
|
Символа "!" нет в английском алфавите
|
|
```
|
|
2.
|
|
```py
|
|
>>> string = """Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом)."""
|
|
>>> words = [word.strip('.,:;!?()–""') for word in string.split() if word.strip('.,:;!?()-–—""')] # Метод strip() позволяет убрать лишние символы с обеих сторон строки. По умолчанию он чистит пробелы, но если передать ему аргумент, то можно удалить и другие символы. (if word.strip('.,:;!?()-–—""') проверка на пустую строку)
|
|
>>> words
|
|
['Создайте', 'список', 'со', 'словами', 'из', 'задания', 'данного', 'пункта', 'Для', 'этого', 'списка', 'определите', 'есть', 'ли', 'в', 'нем', 'некоторое', 'заданное', 'значение', 'и', 'выведите', 'соответствующее', 'сообщение', 'либо', 'о', 'нахождении', 'элемента', 'либо', 'о', 'его', 'отсутствии', 'в', 'списке', 'проверить', 'как', 'с', 'имеющимся', 'так', 'и', 'с', 'отсутствующим', 'словом']
|
|
>>> if input("Введите слово: ") in words:
|
|
... print("Слово есть в списке")
|
|
... else:
|
|
... print("Слова нет в списке")
|
|
...
|
|
Введите слово: определите
|
|
Слово есть в списке
|
|
>>> if input("Введите слово: ") in words:
|
|
... print("Слово есть в списке")
|
|
... else:
|
|
... print("Слова нет в списке")
|
|
...
|
|
Введите слово: помогите
|
|
Слова нет в списке
|
|
```
|
|
3.
|
|
```py
|
|
>>> students_summer = ["Беженарь", "Володин", "Ефимова", "Степанов"]
|
|
>>> marks_summer = [5, 4.5, 4.8, 4.6]
|
|
>>> students_winter = ["Степанов", "Ефимова","Володин", "Беженарь"]
|
|
>>> marks_winter = [4.9, 3.5, 4.3, 4.7]
|
|
>>> name = input("Введите фамилию студента: ")
|
|
Введите фамилию студента: Ефимова
|
|
>>> if name in students_summer and name in students_winter:
|
|
... summer_mark = marks_summer[students_summer.index(name)]
|
|
... winter_mark = marks_winter[students_winter.index(name)]
|
|
... string = """Студент: {}\nОценка за летнюю сессию: {}\nОценка за зимнюю сессию: {}"""
|
|
... print(string.format(name, summer_mark, winter_mark))
|
|
... else:
|
|
... print("Студент {} не найден".format(name))
|
|
Студент: Ефимова
|
|
Оценка за летнюю сессию: 4.8
|
|
Оценка за зимнюю сессию: 3.5
|
|
>>> name = input("Введите фамилию студента: ")
|
|
Введите фамилию студента: Антонов
|
|
>>> if name in students_summer and name in students_winter:
|
|
... summer_mark = marks_summer[students_summer.index(name)]
|
|
... winter_mark = marks_winter[students_winter.index(name)]
|
|
... string = """Студент: {}\nОценка за летнюю сессию: {}\nОценка за зимнюю сессию: {}"""
|
|
... print(string.format(name, summer_mark, winter_mark))
|
|
... else:
|
|
... print("Студент {} не найден".format(name))
|
|
Студент Антонов не найден
|
|
``` |