Файл: Лабораторная работа 4 Вариант 8 Автор работы (подпись).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.11.2023

Просмотров: 212

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Министерство науки и высшего образования Российской Федерации

ФГБОУ ВО «Брянский государственный инженерно-технологический

университет»



Кафедра «ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»

(полное название кафедры)






ЯЗЫК ПРОГРАММИРОВАНИЯ PYTHON

(полное название учебной дисциплины)



Лабораторная работа №4

Вариант № 8







Автор работы:

_______________ (подпись)

Палий К.С.


Группа:

ИВТ-101

(шифр группы)

№ зачетной книжки 21-2.039


Преподаватель:


_______________

(подпись)



канд.экон.наук, доцент

(учен. степ, учен. звание)


О.Н. Юркова

(И.О. Фамилия)














Брянск 2023





СОДЕРЖАНИ

Задача №1 4

Задача №2 6

Задача №3 7

Задача №4 8

Задача №5 9

Задача №6 11

Задача №7 12

13

Задача №8 14

15

Задача №9 16

Задача №10 18

Задача №11 19

Задача №12 21

Задача №1 3

Задача №2 5

Задача №3 6

Задача №4 7

Задача №5 8

Задача №6 10

Задача №7 11

Задача №8 13

Задача №9 15

Задача №10 17


Задача №11 18

Задача №12 20

Задача №1




Условие: Как известно, когда мы придумываем пароль от аккаунта ВКонтакте, электронной почты или Яндекс.Контеста, к этому паролю часто предъявляются определённые требования по сложности.

Напишите программу, которая имитирует проверку пароля, придуманного пользователем.

Пользователь вводит пароль, потом ещё раз его же, для подтверждения.

если пароль, который ввёл пользователь (в первый раз) короче 8 символов, программа выводит "Короткий!" и завершает свою работу если пароль достаточно длинный, но введённый во второй раз пароль не совпадает с первым, программа выводит "Различаются." если же и эта проверка пройдена успешно, программа выводит "OK" (латинскими буквами).

Формат ввода

Две строки — первый и второй пароль, введенные пользователем.

Формат вывода

Одна строка — результат проверки пароля.
Решение:

count = 0

while count < 2:

    password = input()

    if count == 0:

        password_1 = password

        if len(password) < 8:

            print('Короткий')

            break

    elif password != password_1:

        print('Различаются')

        break

    count += 1

else:

    print('Ок')
Пример работы программы:




Задача №2




Условие: Напишите программу, которая считывает температуру в градусах Цельсия и выводит "ХОЛОДНО", если температура меньше 15 5, "ЖАРКО", если температура больше 28, и "НОРМАЛЬНО" в остальных случаях.

Формат ввода

Одно число с плавающей точкой — температура.

Формат вывода

Одна строка — ответ на задачу.
Решение:

while True:

    temperature = float(input())

    if temperature < 15.5:

        print('ХОЛОДНО')

        break

    elif temperature > 28:

        print('ЖАРКО')

        break

    else:

        print('НОРМАЛЬНО')

        break
Пример работы программы:


Задача №3




Условие: В магазине акция: скидка 5% на товары, цена которых превышает 1000 рублей. Напишите программу, отчасти имитирующую работу кассового аппарата: вводятся цены покупаемых товаров, нужно вывести общую стоимость товаров с учётом скидки.

Формат ввода

Несколько действительных чисел — цены на товары. Каждое число записано в отдельной строке.



Последнее число — отрицательное — сигнал остановки.

Формат вывода

Одно действительное число — общая стоимость товаров с учётом скидки.
Решение:

summ = 0

while True:

    price = float(input())

    if price < 0:

        break

    if price > 1000:

        price = price - price * 0.05

    summ += price
print(summ)

Пример работы программы:


Задача №4




Условие: Пользователь вводит строки одну за другой до тех пор, пока не введёт пустую. Программа должна выводить введенные строки, пока не встретилась пустая.

Формат ввода

Вводятся строки одна за другой.

Формат вывода

Введенные строки до пустой
Решение:

while True:

    word = input()

    if word == '' or word == ' ':

        break

    print(word)

Пример работы программы:


Задача №5




Условие: После полета Юрия Гагарина в 1961 практически каждый мальчик СССР хотел стать космонавтом.

Прошло уже более полувека, но профессия космонавт все так же престижна. К сожалению, не каждый желающий может пройти отбор, существуют высокие требования к уровню подготовки будущих космонавтов, а также ограничения по антропометрическим показателям. Например, рост космонавта не может быть больше 190 см и меньше 150 см.

Напишите программу, которая считывает рост претендентов в отряд космонавтов до тех пор, пока не будет введен «!». А затем выводит на первой строчке количество подходящих кандидатур, а на второй строке – минимальный и максимальный рост участников, отобранных в новый отряд космонавтов.

Гарантируется, что в отряд отберутся как минимум два летчика-космонавта.

Формат ввода

Несколько строк с ростом космонавтов и последняя строка «!».

Формат вывода

Две строки: количество кандидатур на первой, и минимальный и максимальный рост через пробел – на второй.
Решение:

participants = 0

arr = []

while True:

    height = input()

    if height == '!':

        break

    participants += 1

    height = int(height)

    arr.append(height)
print(participants)

print(max(arr), min(arr))

Пример работы программы:


Задача №6




Условие: Пользователь вводит числа одно за другим до тех пор, пока не введёт ноль. Программа должна выводить введенные числа до тех пор, пока не будет введен 0 Никаких операций с числами не производится.


Формат ввода

Вводятся целые числа одно за другим, на отдельных строках.

Формат вывода

Выводятся введенные числа на отдельных строках до тех пор, пока не будет введен ноль
Решение:

while True:

    number = int(input())

    if number == 0:

        break

    print(number)
Пример работы программы:



Задача №7




Условие: Как известно, когда мы придумываем пароль от аккаунта ВКонтакте, электронной почты или Яндекс.Контеста, к этому паролю часто предъявляются определённые требования по сложности.

Напишите программу, которая имитирует проверку пароля, придуманного пользователем.

Пользователь вводит пару слов: пароль, а потом ещё раз его же, для подтверждения.

Если введённая пара не удовлетворяет одному из перечисленных ниже условий, пользователь вводит пару паролей ещё раз, и так до тех пор, пока не будут выполнены все условия (т. е. пока программа не выведет «OK»).

если первый пароль из пары, который ввёл пользователь короче 8 символов, программа выводит на экран слово "Короткий!" и заново считывает пару слов-паролей; если же первый пароль из пары достаточно длинный, но в нём содержится сочетание символов "123", программа выводит на экран слово "Простой!" и снова читает пару слов-паролей;

если же предыдущие проверки пройдены успешно, но введённые слова-пароли не совпадают, то программа выводит на экран слово "Различаются." и опять же читает пару слов-паролей;

если же и третья проверка пройдена успешно, программа выводит "OK" (латинскими буквами) и заканчивает свою работу.

Формат ввода

Несколько раз подряд следуют две строки — пароль, введённый пользователем в первый и во второй раз.

Формат вывода

Несколько строк — результат проверки пар паролей.
Решение:

count = 0

while True:

    password = input()

    if len(password) < 8:

        print('Короткий')

    elif '123' in password:

        print('Простой')
    if count == 0:

        password_1 = password

    elif password != password_1:

        print('Различаются')

    else:

        print('Ок')

        break      

    count += 1

Пример работы программы:






Задача №8




Условие: Напишите программу, которая отгадывает загаданное целое число от 1 до 1000 (пользователь загадывает число в уме и не сообщает программе). Угадать число нужно не более чем за 10 попыток. На каждую попытку пользователь отвечает, что названное число больше загаданного (вводит символ “>”), меньше загаданного (“<”) или угадано правильно (“=”).


Используйте бинарный поиск. Программа должна каждый раз называть число, находящееся посередине исследуемого диапазона — в результате станет ясно, в какой половине диапазона находится искомое число.

Например, для диапазона от 1 до 8 (а не до 1000) это могло бы выглядеть так (загадано число 5): 4 (программа пробует угадать, называя число из середины интервала от 1 до 8) < (пользователь отвечает, что названное число меньше искомого; теперь программа ищет в интервале от 4 до 8)

6

>

5

=
Решение:

count = 0

num = 1000

while count < 10:

    answer = input(f'Это число {num}? ')

    if answer == '<':

        num //= 2

    elif answer == '>':

        num += num // 2

    else:

        print('Угадал')

        break

    count += 1

Пример работы программы:







Задача №9




Условие: Мы находимся на острове, на котором закопан клад. Мы находимся в точке с координатами (0, 0) и смотрим на север. Нам известно, где закопан клад, но этого мало: остров полон опасностей, и нужно перемещаться строго по указаниям карты, которая, к счастью, тоже имеется в нашем распоряжении. Мы хотим найти клад как можно скорее.

Известны координаты клада и указания, которым нужно следовать, чтобы его найти. Каждое указание карты состоит из одного слова и, возможно, одного натурального числа. Слово — одно из набора: «вперёд», «налево», «направо», «разворот» или «стоп».

После слова «вперёд» следует количество шагов, которое следует пройти в том направлении, куда мы в данный момент смотрим. Слова «налево» или «направо» означают, что нужно изменить направление взгляда под прямым углом, «разворот» — что прямо на обратное. Команда «стоп» означает остановку.

Найдите минимальное количество указаний карты, которое нужно выполнить, чтобы прийти к кладу.

Формат ввода

Сначала вводятся два числа на отдельных строчках: координаты клада по оси икс (запад-восток) и игрек (юг-север).