форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
158 строки
6.2 KiB
Python
158 строки
6.2 KiB
Python
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] on win32
|
|
Enter "help" below or click "Help" above for more information.
|
|
def letter_positions(text):
|
|
"""Определяет порядковый номер каждой буквы в английском алфавите"""
|
|
result = {}
|
|
for char in text.lower():
|
|
if 'a' <= char <= 'z':
|
|
position = ord(char) - ord('a') + 1
|
|
if char in result:
|
|
result[char].append(position)
|
|
else:
|
|
result[char] = [position]
|
|
return result
|
|
|
|
help_text = "Python is an interpreted, high-level, general-purpose programming language."
|
|
positions = letter_positions(help_text)
|
|
print("1. Порядковые номера букв в тексте:")
|
|
1. Порядковые номера букв в тексте:
|
|
for letter, pos_list in positions.items():
|
|
print(f"Буква '{letter}': позиции {pos_list}")
|
|
|
|
|
|
Буква 'p': позиции [16, 16, 16, 16, 16]
|
|
Буква 'y': позиции [25]
|
|
Буква 't': позиции [20, 20, 20]
|
|
Буква 'h': позиции [8, 8, 8]
|
|
Буква 'o': позиции [15, 15, 15]
|
|
Буква 'n': позиции [14, 14, 14, 14, 14, 14]
|
|
Буква 'i': позиции [9, 9, 9, 9]
|
|
Буква 's': позиции [19, 19]
|
|
Буква 'a': позиции [1, 1, 1, 1, 1]
|
|
Буква 'e': позиции [5, 5, 5, 5, 5, 5, 5, 5, 5]
|
|
Буква 'r': позиции [18, 18, 18, 18, 18, 18]
|
|
Буква 'd': позиции [4]
|
|
Буква 'g': позиции [7, 7, 7, 7, 7, 7]
|
|
Буква 'l': позиции [12, 12, 12, 12]
|
|
Буква 'v': позиции [22]
|
|
Буква 'u': позиции [21, 21]
|
|
Буква 'm': позиции [13, 13]
|
|
task_words = ["Для", "заданной", "символьной", "строки", "с", "англоязычным",
|
|
"текстом", "определите", "порядковый", "номер", "каждой", "буквы"]
|
|
print("\n2. Поиск слова в списке:")
|
|
|
|
2. Поиск слова в списке:
|
|
print(f"Список слов: {task_words}")
|
|
Список слов: ['Для', 'заданной', 'символьной', 'строки', 'с', 'англоязычным', 'текстом', 'определите', 'порядковый', 'номер', 'каждой', 'буквы']
|
|
search_word = "строки"
|
|
if search_word in task_words:
|
|
print(f"Слово '{search_word}' найдено в списке")
|
|
else:
|
|
print(f"Слово '{search_word}' отсутствует в списке")
|
|
|
|
|
|
Слово 'строки' найдено в списке
|
|
search_word = "программирование"
|
|
if search_word in task_words:
|
|
print(f"Слово '{search_word}' найдено в списке")
|
|
else:
|
|
print(f"Слово '{search_word}' отсутствует в списке")
|
|
|
|
Слово 'программирование' отсутствует в списке
|
|
students = ["Снегура", "Туровец", "Ефремов", "Хатюхин"]
|
|
summer_grades = [4.5, 3.8, 4.2, 4.7]
|
|
winter_grades = [4.3, 4.6, 3.9, 4.8]
|
|
print("\n3. Поиск средних баллов студента:")
|
|
|
|
3. Поиск средних баллов студента:
|
|
student_name = input("Введите фамилию студента: ")
|
|
Введите фамилию студента: Снегура
|
|
if student_name in students:
|
|
# Находим индекс студента
|
|
student_index = students.index(student_name)
|
|
|
|
# Получаем баллы за летнюю сессию
|
|
summer_grade = summer_grades[student_index]
|
|
|
|
# Для зимней сессии создаем словарь для быстрого поиска
|
|
winter_dict = dict(zip(students, winter_grades))
|
|
winter_grade = winter_dict[student_name]
|
|
|
|
print(f"Студент {student_name}:")
|
|
print(f" Летняя сессия: {summer_grade}")
|
|
print(f" Зимняя сессия: {winter_grade}")
|
|
print(f" Средний балл: {(summer_grade + winter_grade) / 2:.2f}")
|
|
else:
|
|
print(f"Студент {student_name} не найден в списке")
|
|
|
|
|
|
Студент Снегура:
|
|
Летняя сессия: 4.5
|
|
Зимняя сессия: 4.3
|
|
Средний балл: 4.40
|
|
print("\nВсе студенты и их баллы:")
|
|
for i, student in enumerate(students):
|
|
winter_grade = winter_grades[i] # winter_grades уже в правильном порядке
|
|
print(f"{student}: лето - {summer_grades[i]}, зима - {winter_grade}")
|
|
|
|
SyntaxError: multiple statements found while compiling a single statement
|
|
print("\nВсе студенты и их баллы:")
|
|
|
|
Все студенты и их баллы:
|
|
for i, student in enumerate(students):
|
|
winter_grade = winter_grades[i] # winter_grades уже в правильном порядке
|
|
print(f"{student}: лето - {summer_grades[i]}, зима - {winter_grade}")
|
|
|
|
|
|
Снегура: лето - 4.5, зима - 4.3
|
|
Туровец: лето - 3.8, зима - 4.6
|
|
Ефремов: лето - 4.2, зима - 3.9
|
|
Хатюхин: лето - 4.7, зима - 4.8
|
|
with open('control_task_results.txt', 'w', encoding='utf-8') as f:
|
|
f.write("Результаты выполнения контрольного задания\n")
|
|
f.write("=" * 50 + "\n\n")
|
|
|
|
f.write("1. Порядковые номера букв в тексте:\n")
|
|
for letter, pos_list in positions.items():
|
|
f.write(f"Буква '{letter}': позиции {pos_list}\n")
|
|
|
|
f.write("\n2. Результаты поиска слов:\n")
|
|
f.write(f"Слово 'строки' найдено: {'строки' in task_words}\n")
|
|
f.write(f"Слово 'программирование' найдено: {'программирование' in task_words}\n")
|
|
|
|
f.write("\n3. Данные студентов:\n")
|
|
for i, student in enumerate(students):
|
|
f.write(f"{student}: лето - {summer_grades[i]}, зима - {winter_grades[i]}\n")
|
|
|
|
43
|
|
52
|
|
36
|
|
40
|
|
24
|
|
32
|
|
29
|
|
32
|
|
44
|
|
32
|
|
28
|
|
35
|
|
47
|
|
44
|
|
23
|
|
38
|
|
36
|
|
24
|
|
28
|
|
28
|
|
28
|
|
29
|
|
40
|
|
22
|
|
32
|
|
32
|
|
32
|
|
32
|
|
>>> print("\nРезультаты сохранены в файл 'control_task_results.txt'")
|
|
|
|
Результаты сохранены в файл 'control_task_results.txt'
|