форкнуто от main/python-labs
main
Родитель
11f2e63cc7
Сommit
b8d4929f47
После Ширина: | Высота: | Размер: 42 KiB |
После Ширина: | Высота: | Размер: 39 KiB |
@ -0,0 +1,159 @@
|
|||||||
|
# общее контрольное задание
|
||||||
|
## 1. Для заданной символьной строки с англоязычным текстом определите порядковый номер каждой буквы в английском алфавите.
|
||||||
|
```py
|
||||||
|
def letter_positions(text): #Объявление функции с именем letter_positions, которая принимает один параметр text (текст для анализа).
|
||||||
|
"""Определяет порядковый номер каждой буквы в английском алфавите""" #Строка документации - описание того, что делает функция.
|
||||||
|
result = {} #Создание пустого словаря result, где: ключи - буквы алфавита;значения - списки позиций этих букв в тексте
|
||||||
|
for char in text.lower(): #Цикл по каждому символу текста. Метод .lower() преобразует весь текст в нижний регистр, чтобы 'A' и 'a' считались одинаковыми буквами.
|
||||||
|
if 'a' <= char <= 'z': #Проверка: является ли символ английской буквой. Отсеивает пробелы, цифры, знаки препинания и т.д.
|
||||||
|
position = ord(char) - ord('a') + 1 #Вычисление порядкового номера буквы: ord(char) - получает ASCII-код символа; ord('a') - ASCII-код буквы 'a' (97); Вычитание дает смещение от 'a' (например: 'c' - 'a' = 2); + 1 - чтобы нумерация была с 1, а не с 0
|
||||||
|
if char in result: #Проверка: есть ли уже такая буква в словаре
|
||||||
|
result[char].append(position) #Если буква уже есть - добавляем новую позицию в существующий список
|
||||||
|
else:
|
||||||
|
result[char] = [position] #Если буквы еще нет - создаем новую запись в словаре со списком из одной позиции
|
||||||
|
return result #Возврат результата - готового словаря с позициями всех букв
|
||||||
|
# Текст из помощи Python
|
||||||
|
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]
|
||||||
|
```
|
||||||
|
## 2. Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение.
|
||||||
|
```py
|
||||||
|
# Создаем список из слов этого задания
|
||||||
|
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}' отсутствует в списке")
|
||||||
|
|
||||||
|
Слово 'программирование' отсутствует в списке
|
||||||
|
```
|
||||||
|
## 3. Создайте список студентов и списки баллов
|
||||||
|
```py
|
||||||
|
# Список студентов
|
||||||
|
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
|
||||||
|
# Дополнительно: вывод всех студентов с их баллами
|
||||||
|
for i, student in enumerate(students):
|
||||||
|
winter_grade = winter_grades[i] # winter_grades уже в правильном порядке
|
||||||
|
print(f"{student}: лето - {summer_grades[i]}, зима - {winter_grade}")
|
||||||
|
# Сохранение результатов в файл
|
||||||
|
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'
|
||||||
|
```
|
@ -0,0 +1,157 @@
|
|||||||
|
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'
|
@ -0,0 +1,182 @@
|
|||||||
|
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.
|
||||||
|
rashod=300
|
||||||
|
while rashod:
|
||||||
|
print("Расход=",rashod)
|
||||||
|
rashod-=50
|
||||||
|
|
||||||
|
Расход= 300
|
||||||
|
Расход= 250
|
||||||
|
Расход= 200
|
||||||
|
Расход= 150
|
||||||
|
Расход= 100
|
||||||
|
Расход= 50
|
||||||
|
import math
|
||||||
|
stroka='Расчет процесса в объекте регулирования'
|
||||||
|
i=0
|
||||||
|
sps2=[]
|
||||||
|
while i<len(stroka):
|
||||||
|
r=1-2/(1+math.exp(0.1*i))
|
||||||
|
sps2.append(r)
|
||||||
|
print('Значение в момент',i,"=",r)
|
||||||
|
i+=1
|
||||||
|
|
||||||
|
|
||||||
|
Значение в момент 0 = 0.0
|
||||||
|
Значение в момент 1 = 0.049958374957880025
|
||||||
|
Значение в момент 2 = 0.09966799462495568
|
||||||
|
Значение в момент 3 = 0.14888503362331795
|
||||||
|
Значение в момент 4 = 0.197375320224904
|
||||||
|
Значение в момент 5 = 0.2449186624037092
|
||||||
|
Значение в момент 6 = 0.2913126124515909
|
||||||
|
Значение в момент 7 = 0.3363755443363322
|
||||||
|
Значение в момент 8 = 0.3799489622552249
|
||||||
|
Значение в момент 9 = 0.421899005250008
|
||||||
|
Значение в момент 10 = 0.4621171572600098
|
||||||
|
Значение в момент 11 = 0.5005202111902354
|
||||||
|
Значение в момент 12 = 0.5370495669980353
|
||||||
|
Значение в момент 13 = 0.5716699660851172
|
||||||
|
Значение в момент 14 = 0.6043677771171636
|
||||||
|
Значение в момент 15 = 0.6351489523872873
|
||||||
|
Значение в момент 16 = 0.6640367702678489
|
||||||
|
Значение в момент 17 = 0.6910694698329307
|
||||||
|
Значение в момент 18 = 0.7162978701990245
|
||||||
|
Значение в момент 19 = 0.7397830512740043
|
||||||
|
Значение в момент 20 = 0.7615941559557649
|
||||||
|
Значение в момент 21 = 0.7818063576087741
|
||||||
|
Значение в момент 22 = 0.8004990217606297
|
||||||
|
Значение в момент 23 = 0.8177540779702878
|
||||||
|
Значение в момент 24 = 0.8336546070121553
|
||||||
|
Значение в момент 25 = 0.8482836399575129
|
||||||
|
Значение в момент 26 = 0.8617231593133063
|
||||||
|
Значение в момент 27 = 0.874053287886007
|
||||||
|
Значение в момент 28 = 0.8853516482022625
|
||||||
|
Значение в момент 29 = 0.8956928738431645
|
||||||
|
Значение в момент 30 = 0.9051482536448664
|
||||||
|
Значение в момент 31 = 0.9137854901178277
|
||||||
|
Значение в момент 32 = 0.9216685544064713
|
||||||
|
Значение в момент 33 = 0.9288576214547277
|
||||||
|
Значение в момент 34 = 0.935409070603099
|
||||||
|
Значение в момент 35 = 0.9413755384972874
|
||||||
|
Значение в момент 36 = 0.9468060128462683
|
||||||
|
Значение в момент 37 = 0.9517459571646616
|
||||||
|
Значение в момент 38 = 0.9562374581277391
|
||||||
|
sps2
|
||||||
|
[0.0, 0.049958374957880025, 0.09966799462495568, 0.14888503362331795, 0.197375320224904, 0.2449186624037092, 0.2913126124515909, 0.3363755443363322, 0.3799489622552249, 0.421899005250008, 0.4621171572600098, 0.5005202111902354, 0.5370495669980353, 0.5716699660851172, 0.6043677771171636, 0.6351489523872873, 0.6640367702678489, 0.6910694698329307, 0.7162978701990245, 0.7397830512740043, 0.7615941559557649, 0.7818063576087741, 0.8004990217606297, 0.8177540779702878, 0.8336546070121553, 0.8482836399575129, 0.8617231593133063, 0.874053287886007, 0.8853516482022625, 0.8956928738431645, 0.9051482536448664, 0.9137854901178277, 0.9216685544064713, 0.9288576214547277, 0.935409070603099, 0.9413755384972874, 0.9468060128462683, 0.9517459571646616, 0.9562374581277391]
|
||||||
|
stroka = 'Расчет процесса в объекте регулирования'
|
||||||
|
i = 0
|
||||||
|
sps2 = []
|
||||||
|
time_points = [] # Создадим список для моментов времени
|
||||||
|
while i < len(stroka):
|
||||||
|
r = 1 - 2 / (1 + math.exp(0.1 * i))
|
||||||
|
sps2.append(r)
|
||||||
|
time_points.append(i) # Запоминаем момент времени
|
||||||
|
print('Значение в момент', i, "=", r)
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
|
||||||
|
Значение в момент 0 = 0.0
|
||||||
|
Значение в момент 1 = 0.049958374957880025
|
||||||
|
Значение в момент 2 = 0.09966799462495568
|
||||||
|
Значение в момент 3 = 0.14888503362331795
|
||||||
|
Значение в момент 4 = 0.197375320224904
|
||||||
|
Значение в момент 5 = 0.2449186624037092
|
||||||
|
Значение в момент 6 = 0.2913126124515909
|
||||||
|
Значение в момент 7 = 0.3363755443363322
|
||||||
|
Значение в момент 8 = 0.3799489622552249
|
||||||
|
Значение в момент 9 = 0.421899005250008
|
||||||
|
Значение в момент 10 = 0.4621171572600098
|
||||||
|
Значение в момент 11 = 0.5005202111902354
|
||||||
|
Значение в момент 12 = 0.5370495669980353
|
||||||
|
Значение в момент 13 = 0.5716699660851172
|
||||||
|
Значение в момент 14 = 0.6043677771171636
|
||||||
|
Значение в момент 15 = 0.6351489523872873
|
||||||
|
Значение в момент 16 = 0.6640367702678489
|
||||||
|
Значение в момент 17 = 0.6910694698329307
|
||||||
|
Значение в момент 18 = 0.7162978701990245
|
||||||
|
Значение в момент 19 = 0.7397830512740043
|
||||||
|
Значение в момент 20 = 0.7615941559557649
|
||||||
|
Значение в момент 21 = 0.7818063576087741
|
||||||
|
Значение в момент 22 = 0.8004990217606297
|
||||||
|
Значение в момент 23 = 0.8177540779702878
|
||||||
|
Значение в момент 24 = 0.8336546070121553
|
||||||
|
Значение в момент 25 = 0.8482836399575129
|
||||||
|
Значение в момент 26 = 0.8617231593133063
|
||||||
|
Значение в момент 27 = 0.874053287886007
|
||||||
|
Значение в момент 28 = 0.8853516482022625
|
||||||
|
Значение в момент 29 = 0.8956928738431645
|
||||||
|
Значение в момент 30 = 0.9051482536448664
|
||||||
|
Значение в момент 31 = 0.9137854901178277
|
||||||
|
Значение в момент 32 = 0.9216685544064713
|
||||||
|
Значение в момент 33 = 0.9288576214547277
|
||||||
|
Значение в момент 34 = 0.935409070603099
|
||||||
|
Значение в момент 35 = 0.9413755384972874
|
||||||
|
Значение в момент 36 = 0.9468060128462683
|
||||||
|
Значение в момент 37 = 0.9517459571646616
|
||||||
|
Значение в момент 38 = 0.9562374581277391
|
||||||
|
plt.plot(time_points, sps2, 'b-', marker='o', linewidth=2, markersize=4, label='Выходной сигнал инерционного звена')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#15>", line 1, in <module>
|
||||||
|
plt.plot(time_points, sps2, 'b-', marker='o', linewidth=2, markersize=4, label='Выходной сигнал инерционного звена')
|
||||||
|
NameError: name 'plt' is not defined
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
plt.plot(time_points, sps2, 'b-', marker='o', linewidth=2, markersize=4, label='Выходной сигнал инерционного звена')
|
||||||
|
[<matplotlib.lines.Line2D object at 0x000001B8EE6F9450>]
|
||||||
|
plt.title('Сигнал на выходе инерционного звена\n(Переходная характеристика)')
|
||||||
|
Text(0.5, 1.0, 'Сигнал на выходе инерционного звена\n(Переходная характеристика)')
|
||||||
|
plt.xlabel('Время, i (дискр. отсчеты)')
|
||||||
|
Text(0.5, 0, 'Время, i (дискр. отсчеты)')
|
||||||
|
plt.ylabel('Значение сигнала, r(i)')
|
||||||
|
Text(0, 0.5, 'Значение сигнала, r(i)')
|
||||||
|
plt.grid(True, which='major', linestyle='--', linewidth=0.5)
|
||||||
|
plt.legend()
|
||||||
|
<matplotlib.legend.Legend object at 0x000001B8EE711010>
|
||||||
|
plt.show()
|
||||||
|
chislo=267 #Проверяемое число
|
||||||
|
kandidat =chislo // 2 # Для значений chislo > 1
|
||||||
|
while kandidat > 1:
|
||||||
|
if chislo%kandidat == 0: # Остаток от деления
|
||||||
|
print(chislo, ' имеет множитель ', kandidat)
|
||||||
|
break # else выполняться не будет
|
||||||
|
kandidat -= 1
|
||||||
|
else: # При завершении цикла без break
|
||||||
|
print(chislo, ' является простым!')
|
||||||
|
|
||||||
|
|
||||||
|
267 имеет множитель 89
|
||||||
|
for chislo in range(250, 301):
|
||||||
|
if chislo < 2: # Числа меньше 2 не являются простыми
|
||||||
|
continue
|
||||||
|
...
|
||||||
|
...
|
||||||
|
>>>
|
||||||
|
>>>
|
||||||
|
>>>
|
||||||
|
>>> for chislo in range(250, 301):
|
||||||
|
... if chislo < 2: # Числа меньше 2 не являются простыми
|
||||||
|
... continue
|
||||||
|
...
|
||||||
|
... # Проверяем делители от 2 до квадратного корня из числа (оптимизация)
|
||||||
|
... kandidat = int(chislo ** 0.5) + 1
|
||||||
|
... is_prime = True
|
||||||
|
...
|
||||||
|
... while kandidat > 1:
|
||||||
|
... if chislo % kandidat == 0:
|
||||||
|
... # Найден делитель, число не простое
|
||||||
|
... is_prime = False
|
||||||
|
... break
|
||||||
|
... kandidat -= 1
|
||||||
|
...
|
||||||
|
... if is_prime:
|
||||||
|
... print(chislo, 'является простым!')
|
||||||
|
...
|
||||||
|
...
|
||||||
|
251 является простым!
|
||||||
|
257 является простым!
|
||||||
|
263 является простым!
|
||||||
|
269 является простым!
|
||||||
|
271 является простым!
|
||||||
|
277 является простым!
|
||||||
|
281 является простым!
|
||||||
|
283 является простым!
|
||||||
|
293 является простым!
|
@ -0,0 +1,137 @@
|
|||||||
|
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.
|
||||||
|
porog=4
|
||||||
|
rashod1=7
|
||||||
|
rashod2=11
|
||||||
|
if rashod1>=porog:
|
||||||
|
dohod=12
|
||||||
|
elif rashod2==porog:
|
||||||
|
dohod=0
|
||||||
|
else:
|
||||||
|
dohod=-8
|
||||||
|
|
||||||
|
dohod
|
||||||
|
12
|
||||||
|
if rashod1>=3 and rashod2==4:
|
||||||
|
dohod=rashod1
|
||||||
|
if rashod2==porog or rashod1<rashod2:
|
||||||
|
dohod=porog
|
||||||
|
|
||||||
|
dohod
|
||||||
|
12
|
||||||
|
del dohod
|
||||||
|
if rashod1>=3 and rashod2==4:
|
||||||
|
dohod=rashod1
|
||||||
|
if rashod2==porog or rashod1<rashod2:
|
||||||
|
dohod=porog
|
||||||
|
|
||||||
|
|
||||||
|
dohod
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#10>", line 1, in <module>
|
||||||
|
dohod
|
||||||
|
NameError: name 'dohod' is not defined
|
||||||
|
if porog==3:
|
||||||
|
dohod=1
|
||||||
|
elif porog==4:
|
||||||
|
dohod=2
|
||||||
|
elif porog==5:
|
||||||
|
dohod=3
|
||||||
|
else:
|
||||||
|
dohod=0
|
||||||
|
|
||||||
|
dohod
|
||||||
|
2
|
||||||
|
del dohod
|
||||||
|
dohod=2 if porog>=4 else 0
|
||||||
|
dohod
|
||||||
|
2
|
||||||
|
if porog>=5 : rashod1=6; rashod2=0
|
||||||
|
|
||||||
|
rashod1
|
||||||
|
7
|
||||||
|
rashod2
|
||||||
|
11
|
||||||
|
temperatura=5
|
||||||
|
for i in range(3,18,3):
|
||||||
|
temperatura+=i
|
||||||
|
|
||||||
|
SyntaxError: multiple statements found while compiling a single statement
|
||||||
|
temperatura=5
|
||||||
|
for i in range(3,18,3):
|
||||||
|
temperatura+=i
|
||||||
|
|
||||||
|
|
||||||
|
temperatura
|
||||||
|
50
|
||||||
|
sps=[2,15,14,8]
|
||||||
|
for k in sps:
|
||||||
|
if len(sps)<=10:sps.append(sps[0])
|
||||||
|
else:break
|
||||||
|
|
||||||
|
|
||||||
|
sps
|
||||||
|
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
|
||||||
|
sps=[2,15,14,8]
|
||||||
|
for k in sps[:]:
|
||||||
|
if len(sps)<=10:sps.append(sps[0])
|
||||||
|
else:break
|
||||||
|
|
||||||
|
sps
|
||||||
|
[2, 15, 14, 8, 2, 2, 2, 2]
|
||||||
|
import random as rn
|
||||||
|
sps5=[]
|
||||||
|
for i in range(10):
|
||||||
|
sps5.append(rn.randint(1,100))
|
||||||
|
ss=sum(sps5)
|
||||||
|
if ss>500: break
|
||||||
|
else:
|
||||||
|
print(ss)
|
||||||
|
|
||||||
|
369
|
||||||
|
for i in range(10):
|
||||||
|
sps5.append(rn.randint(1,100))
|
||||||
|
ss=sum(sps5)
|
||||||
|
if ss>500: break
|
||||||
|
else:
|
||||||
|
print(ss)
|
||||||
|
|
||||||
|
|
||||||
|
sps5=[]
|
||||||
|
for i in range(10):
|
||||||
|
sps5.append(rn.randint(1,100))
|
||||||
|
ss=sum(sps5)
|
||||||
|
if ss>500: break
|
||||||
|
else:
|
||||||
|
print(ss)
|
||||||
|
|
||||||
|
|
||||||
|
438
|
||||||
|
sps5=[]
|
||||||
|
for i in range(10):
|
||||||
|
sps5.append(rn.randint(1,100))
|
||||||
|
ss=sum(sps5)
|
||||||
|
if ss>500: break
|
||||||
|
else:
|
||||||
|
print(ss)
|
||||||
|
|
||||||
|
|
||||||
|
495
|
||||||
|
stroka='Это – автоматизированная система'
|
||||||
|
stroka1=""
|
||||||
|
for ss in stroka:
|
||||||
|
stroka1+=" "+ss
|
||||||
|
|
||||||
|
SyntaxError: multiple statements found while compiling a single statement
|
||||||
|
stroka='Это – автоматизированная система'
|
||||||
|
stroka1=""
|
||||||
|
for ss in stroka:
|
||||||
|
stroka1+=" "+ss
|
||||||
|
|
||||||
|
|
||||||
|
>>> stroka1
|
||||||
|
' Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а'
|
||||||
|
>>> import math
|
||||||
|
>>> sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
|
||||||
|
>>> sps2
|
||||||
|
[0.9092974268256817, 0.49103209793281005, -0.11479080280322804, -0.6767675184643197, -0.9802420445539634, -0.9092974268256817, -0.49103209793281016, 0.11479080280322791, 0.6767675184643196, 0.9802420445539634, 0.9092974268256818, 0.4910320979328103, -0.1147908028032278, -0.6767675184643196, -0.9802420445539632, -0.9092974268256818, -0.4910320979328104, 0.11479080280322768, 0.6767675184643195, 0.9802420445539632, 0.9092974268256819, 0.4910320979328105, -0.11479080280322579, -0.6767675184643194, -0.9802420445539632, -0.9092974268256819, -0.4910320979328106, 0.11479080280322743, 0.6767675184643193, 0.9802420445539632, 0.909297426825682, 0.49103209793281066, -0.1147908028032273, -0.6767675184643192, -0.9802420445539632, -0.909297426825682, -0.4910320979328108, 0.11479080280322719, 0.6767675184643192, 0.9802420445539631, 0.9092974268256822, 0.491032097932814, -0.11479080280322707, -0.676767518464319, -0.9802420445539625, -0.9092974268256822, -0.491032097932811, 0.11479080280323047, 0.6767675184643189, 0.9802420445539625, 0.9092974268256822, 0.4910320979328142, -0.11479080280322682, -0.6767675184643215, -0.9802420445539631, -0.9092974268256808, -0.4910320979328112, 0.11479080280322317, 0.6767675184643187, 0.9802420445539624, 0.9092974268256823, 0.4910320979328082, -0.11479080280322658, -0.6767675184643213, -0.980242044553963, -0.9092974268256838, -0.49103209793281144, 0.11479080280322293, 0.6767675184643186, 0.9802420445539637, 0.9092974268256824, 0.49103209793280844, -0.11479080280322633, -0.6767675184643158, -0.980242044553963, -0.9092974268256839, -0.49103209793281166, 0.11479080280322974, 0.6767675184643184, 0.9802420445539637, 0.9092974268256825, 0.4910320979328149, -0.11479080280321903, -0.6767675184643209, -0.9802420445539629, -0.909297426825681, -0.4910320979328119, 0.11479080280322244, 0.6767675184643129, 0.9802420445539636, 0.9092974268256826, 0.49103209793281505, -0.11479080280322584, -0.6767675184643155, -0.9802420445539644, -0.9092974268256812, -0.49103209793281205, 0.1147908028032222, 0.6767675184643127, 0.980242044553965]
|
@ -0,0 +1,297 @@
|
|||||||
|
# Тема 5. Блоки инструкций, управляющие инструкции
|
||||||
|
## 2. Изучите ветвление по условию – управляющая инструкция if. Общее правило написания:
|
||||||
|
if <условие>:
|
||||||
|
<отступы><Блок инструкций, выполняемый, если условие истинно>
|
||||||
|
[elif <условие2>:
|
||||||
|
<отступы><Блок инструкций2, выполняемый, если условие2 истинно>
|
||||||
|
]
|
||||||
|
[else:
|
||||||
|
< отступы><Блок инструкций3, выполняемый, если условие ложно>
|
||||||
|
]
|
||||||
|
```py
|
||||||
|
porog=4
|
||||||
|
rashod1=7
|
||||||
|
rashod2=11
|
||||||
|
if rashod1>=porog:
|
||||||
|
dohod=12
|
||||||
|
elif rashod2==porog:
|
||||||
|
dohod=0
|
||||||
|
else:
|
||||||
|
dohod=-8
|
||||||
|
|
||||||
|
dohod
|
||||||
|
12
|
||||||
|
del dohod
|
||||||
|
if rashod1>=3 and rashod2==4:
|
||||||
|
dohod=rashod1
|
||||||
|
if rashod2==porog or rashod1<rashod2:
|
||||||
|
dohod=porog
|
||||||
|
|
||||||
|
|
||||||
|
dohod
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#10>", line 1, in <module>
|
||||||
|
dohod
|
||||||
|
NameError: name 'dohod' is not defined
|
||||||
|
if porog==3:
|
||||||
|
dohod=1
|
||||||
|
elif porog==4:
|
||||||
|
dohod=2
|
||||||
|
elif porog==5:
|
||||||
|
dohod=3
|
||||||
|
else:
|
||||||
|
dohod=0
|
||||||
|
|
||||||
|
dohod
|
||||||
|
2
|
||||||
|
```
|
||||||
|
```py
|
||||||
|
del dohod
|
||||||
|
dohod=2 if porog>=4 else 0
|
||||||
|
dohod
|
||||||
|
2
|
||||||
|
if porog>=5 : rashod1=6; rashod2=0
|
||||||
|
|
||||||
|
rashod1
|
||||||
|
7
|
||||||
|
rashod2
|
||||||
|
11
|
||||||
|
```
|
||||||
|
## 3.Цикл по перечислению – управляющая инструкция for. Общее правило написания:
|
||||||
|
for <Объект-переменная цикла> in <объект>:
|
||||||
|
<отступы><Блок инструкций 1 – тело цикла>
|
||||||
|
[else:
|
||||||
|
< отступы ><Блок инструкций 2 – если в цикле не сработал break>]
|
||||||
|
### 3.1.
|
||||||
|
```py
|
||||||
|
temperatura=5
|
||||||
|
for i in range(3,18,3):
|
||||||
|
temperatura+=i
|
||||||
|
|
||||||
|
|
||||||
|
temperatura
|
||||||
|
50
|
||||||
|
```
|
||||||
|
### 3.2.
|
||||||
|
#### 3.2.1.
|
||||||
|
```py
|
||||||
|
sps=[2,15,14,8]
|
||||||
|
for k in sps:
|
||||||
|
if len(sps)<=10:sps.append(sps[0])
|
||||||
|
else:break
|
||||||
|
|
||||||
|
|
||||||
|
sps
|
||||||
|
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
|
||||||
|
```
|
||||||
|
#### 3.2.2.
|
||||||
|
```py
|
||||||
|
sps=[2,15,14,8]
|
||||||
|
for k in sps[:]: # Создается копия списка для итерации
|
||||||
|
if len(sps)<=10:sps.append(sps[0])
|
||||||
|
else:break
|
||||||
|
|
||||||
|
sps
|
||||||
|
[2, 15, 14, 8, 2, 2, 2, 2]
|
||||||
|
#Отличие: Во втором случае используется sps[:] - это создает копию списка для итерации.
|
||||||
|
```
|
||||||
|
### 3.3. Пример: создание списка с 10 целыми случайными числами из диапазона от 1 до 100. При этом, если сумма чисел не превышает 500, эта сумма должна быть отображена на экране.
|
||||||
|
```py
|
||||||
|
import random as rn
|
||||||
|
sps5=[]
|
||||||
|
for i in range(10):
|
||||||
|
sps5.append(rn.randint(1,100))
|
||||||
|
ss=sum(sps5)
|
||||||
|
if ss>500: break
|
||||||
|
else:
|
||||||
|
print(ss)
|
||||||
|
|
||||||
|
369
|
||||||
|
sps5=[]
|
||||||
|
for i in range(10):
|
||||||
|
sps5.append(rn.randint(1,100))
|
||||||
|
ss=sum(sps5)
|
||||||
|
if ss>500: break
|
||||||
|
else:
|
||||||
|
print(ss)
|
||||||
|
|
||||||
|
|
||||||
|
438
|
||||||
|
sps5=[]
|
||||||
|
for i in range(10):
|
||||||
|
sps5.append(rn.randint(1,100))
|
||||||
|
ss=sum(sps5)
|
||||||
|
if ss>500: break
|
||||||
|
else:
|
||||||
|
print(ss)
|
||||||
|
|
||||||
|
|
||||||
|
495
|
||||||
|
#Возможные сценарии:
|
||||||
|
#Сумма НЕ превысила 500 за 10 итераций → цикл завершается естественно → выполняется else → выводится сумма
|
||||||
|
|
||||||
|
#Сумма превысила 500 на какой-то итерации → срабатывает break → цикл прерывается → else НЕ выполняется
|
||||||
|
```
|
||||||
|
### 3.4.
|
||||||
|
```py
|
||||||
|
stroka='Это – автоматизированная система'
|
||||||
|
stroka1=""
|
||||||
|
for ss in stroka:
|
||||||
|
stroka1+=" "+ss
|
||||||
|
|
||||||
|
|
||||||
|
stroka1
|
||||||
|
' Э т о – а в т о м а т и з и р о в а н н а я с и с т е м а'
|
||||||
|
```
|
||||||
|
### 3.5.
|
||||||
|
```py
|
||||||
|
import math
|
||||||
|
sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
|
||||||
|
import pylab
|
||||||
|
pylab.plot(sps2)
|
||||||
|
[<matplotlib.lines.Line2D object at 0x000002A57ED02490>]
|
||||||
|
pylab.title('Синусоидальный сигнал')
|
||||||
|
Text(0.5, 1.0, 'Синусоидальный сигнал')
|
||||||
|
pylab.xlabel('Отсчеты')
|
||||||
|
Text(0.5, 0, 'Отсчеты')
|
||||||
|
pylab.ylabel('Амплитуда')
|
||||||
|
Text(0, 0.5, 'Амплитуда')
|
||||||
|
pylab.show()
|
||||||
|
```
|
||||||
|

|
||||||
|
## 4. Цикл «пока истинно условие» – управляющая инструкция while. Общее правило написания:
|
||||||
|
# while <Условие>:
|
||||||
|
# <отступы><Блок инструкций 1 – тело цикла>
|
||||||
|
# [else:
|
||||||
|
# <отступы><Блок инструкций 2 – если в цикле не сработал break>]
|
||||||
|
### 4.1. Цикл со счетчиком.
|
||||||
|
```py
|
||||||
|
rashod=300
|
||||||
|
while rashod:
|
||||||
|
print("Расход=",rashod)
|
||||||
|
rashod-=50
|
||||||
|
|
||||||
|
Расход= 300
|
||||||
|
Расход= 250
|
||||||
|
Расход= 200
|
||||||
|
Расход= 150
|
||||||
|
Расход= 100
|
||||||
|
Расход= 50
|
||||||
|
# Цикл завершился, потому что условие while rashod: стало ложным (False), когда значение переменной rashod достигло 0.
|
||||||
|
```
|
||||||
|
### 4.2. Пример с символьной строкой
|
||||||
|
```py
|
||||||
|
import math
|
||||||
|
stroka = 'Расчет процесса в объекте регулирования'
|
||||||
|
i = 0
|
||||||
|
sps2 = []
|
||||||
|
time_points = [] # Создадим список для моментов времени
|
||||||
|
while i < len(stroka):
|
||||||
|
r = 1 - 2 / (1 + math.exp(0.1 * i))
|
||||||
|
sps2.append(r)
|
||||||
|
time_points.append(i) # Запоминаем момент времени
|
||||||
|
print('Значение в момент', i, "=", r)
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
|
||||||
|
Значение в момент 0 = 0.0
|
||||||
|
Значение в момент 1 = 0.049958374957880025
|
||||||
|
Значение в момент 2 = 0.09966799462495568
|
||||||
|
Значение в момент 3 = 0.14888503362331795
|
||||||
|
Значение в момент 4 = 0.197375320224904
|
||||||
|
Значение в момент 5 = 0.2449186624037092
|
||||||
|
Значение в момент 6 = 0.2913126124515909
|
||||||
|
Значение в момент 7 = 0.3363755443363322
|
||||||
|
Значение в момент 8 = 0.3799489622552249
|
||||||
|
Значение в момент 9 = 0.421899005250008
|
||||||
|
Значение в момент 10 = 0.4621171572600098
|
||||||
|
Значение в момент 11 = 0.5005202111902354
|
||||||
|
Значение в момент 12 = 0.5370495669980353
|
||||||
|
Значение в момент 13 = 0.5716699660851172
|
||||||
|
Значение в момент 14 = 0.6043677771171636
|
||||||
|
Значение в момент 15 = 0.6351489523872873
|
||||||
|
Значение в момент 16 = 0.6640367702678489
|
||||||
|
Значение в момент 17 = 0.6910694698329307
|
||||||
|
Значение в момент 18 = 0.7162978701990245
|
||||||
|
Значение в момент 19 = 0.7397830512740043
|
||||||
|
Значение в момент 20 = 0.7615941559557649
|
||||||
|
Значение в момент 21 = 0.7818063576087741
|
||||||
|
Значение в момент 22 = 0.8004990217606297
|
||||||
|
Значение в момент 23 = 0.8177540779702878
|
||||||
|
Значение в момент 24 = 0.8336546070121553
|
||||||
|
Значение в момент 25 = 0.8482836399575129
|
||||||
|
Значение в момент 26 = 0.8617231593133063
|
||||||
|
Значение в момент 27 = 0.874053287886007
|
||||||
|
Значение в момент 28 = 0.8853516482022625
|
||||||
|
Значение в момент 29 = 0.8956928738431645
|
||||||
|
Значение в момент 30 = 0.9051482536448664
|
||||||
|
Значение в момент 31 = 0.9137854901178277
|
||||||
|
Значение в момент 32 = 0.9216685544064713
|
||||||
|
Значение в момент 33 = 0.9288576214547277
|
||||||
|
Значение в момент 34 = 0.935409070603099
|
||||||
|
Значение в момент 35 = 0.9413755384972874
|
||||||
|
Значение в момент 36 = 0.9468060128462683
|
||||||
|
Значение в момент 37 = 0.9517459571646616
|
||||||
|
Значение в момент 38 = 0.9562374581277391
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
plt.plot(time_points, sps2, 'b-', marker='o', linewidth=2, markersize=4, label='Выходной сигнал инерционного звена')
|
||||||
|
[<matplotlib.lines.Line2D object at 0x000001B8EE6F9450>]
|
||||||
|
plt.title('Сигнал на выходе инерционного звена\n(Переходная характеристика)')
|
||||||
|
Text(0.5, 1.0, 'Сигнал на выходе инерционного звена\n(Переходная характеристика)')
|
||||||
|
plt.xlabel('Время, i (дискр. отсчеты)')
|
||||||
|
Text(0.5, 0, 'Время, i (дискр. отсчеты)')
|
||||||
|
plt.ylabel('Значение сигнала, r(i)')
|
||||||
|
Text(0, 0.5, 'Значение сигнала, r(i)')
|
||||||
|
plt.grid(True, which='major', linestyle='--', linewidth=0.5)
|
||||||
|
plt.legend()
|
||||||
|
<matplotlib.legend.Legend object at 0x000001B8EE711010>
|
||||||
|
plt.show()
|
||||||
|
```
|
||||||
|

|
||||||
|
### 4.3. Определение, является ли число простым (делится только на самого себя или 1).
|
||||||
|
```py
|
||||||
|
chislo=267 #Проверяемое число
|
||||||
|
kandidat =chislo // 2 # Для значений chislo > 1
|
||||||
|
while kandidat > 1:
|
||||||
|
if chislo%kandidat == 0: # Остаток от деления
|
||||||
|
print(chislo, ' имеет множитель ', kandidat)
|
||||||
|
break # else выполняться не будет
|
||||||
|
kandidat -= 1
|
||||||
|
else: # При завершении цикла без break
|
||||||
|
print(chislo, ' является простым!')
|
||||||
|
|
||||||
|
|
||||||
|
267 имеет множитель 89
|
||||||
|
```
|
||||||
|
```py
|
||||||
|
# Проверка простых чисел в диапазоне от 250 до 300
|
||||||
|
for chislo in range(250, 301):
|
||||||
|
if chislo < 2: # Числа меньше 2 не являются простыми
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Проверяем делители от 2 до квадратного корня из числа (оптимизация)
|
||||||
|
#Если число составное, то у него есть хотя бы один делитель, не превышающий его квадратного корня. Поэтому достаточно проверять делители только до √n, так как больший делитель автоматически подразумевает существование меньшего парного делителя.
|
||||||
|
kandidat = int(chislo ** 0.5) + 1
|
||||||
|
is_prime = True
|
||||||
|
|
||||||
|
while kandidat > 1:
|
||||||
|
if chislo % kandidat == 0:
|
||||||
|
# Найден делитель, число не простое
|
||||||
|
is_prime = False
|
||||||
|
break
|
||||||
|
kandidat -= 1
|
||||||
|
|
||||||
|
if is_prime:
|
||||||
|
print(chislo, 'является простым!')
|
||||||
|
|
||||||
|
|
||||||
|
251 является простым!
|
||||||
|
257 является простым!
|
||||||
|
263 является простым!
|
||||||
|
269 является простым!
|
||||||
|
271 является простым!
|
||||||
|
277 является простым!
|
||||||
|
281 является простым!
|
||||||
|
283 является простым!
|
||||||
|
293 является простым!
|
||||||
|
```
|
После Ширина: | Высота: | Размер: 96 KiB |
После Ширина: | Высота: | Размер: 111 KiB |
Загрузка…
Ссылка в новой задаче