Инфоурок Информатика Другие методич. материалыЗадачи по программированию на Python (урок 6)

Задачи по программированию на Python (урок 6)

Скачать материал

Цикл while

Урок 1. Оператор while

Задача 1. Циклы — это сложно?

Даша начала проходить циклы. Она написала программу, которая просто должна считать сумму чисел до тех пор, пока мы не ввели 0, но что-то пошло не так.

number = int(input(‘Введите число: ’))
While number <= 0:
 summ += number
 number = int(input(‘
Введите число: ’))
print(Summ)

Скопируйте программу в редактор, исправьте её и убедитесь в правильности работы программы.

Задача 2. Введите пароль

Когда мы включаем ноутбук, он просит нас ввести пароль. Если пароль оказался неверным, нам сообщают об этом и снова просят ввести пароль. И так до тех пор, пока мы не введём правильный пароль, — тогда ноутбук даст доступ в учётную запись, и программа завершится.

Напишите программу, которая запрашивает у пользователя пароль до тех пор, пока он не введёт верный (верным будет считаться пароль 235).

Пример:

Введите пароль: 100000

Неверный пароль!

Попробуйте ещё раз: 500

Неверный пароль!

Попробуйте ещё раз: 235

Пароль верный! Добро пожаловать.

Задача 3. Накопления

Кирилл копит себе на хорошую новенькую машину и для этого он каждый раз откладывает в копилку определённую сумму с зарплаты.

Напишите программу, которая спрашивает у пользователя «Сколько отложить денег?» до тех пор, пока сумма в копилке не превысит или не станет равна 500 000 рублей.

Урок 2. 6.3 Прерывание цикла, оператор break

Задача 1. Бегать — это полезно

Представим, что у нас далёкое будущее и мы можем заниматься спортом на планетах со странными перепадами температур. Спортсмен бегает по стадиону до тех пор, пока температура на улице больше 15 градусов. Он пробегает 20 метров, затем температура падает на два градуса, и, если уже в этот момент она стала меньше либо равна 15 градусам, спорт сразу заканчивается. Если же всё в порядке, то он проходит пешком ещё 10 метров. Затем всё это повторяется.

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

Задача 2. Расшифровка кода

Нам нужно расшифровать определённый код в виде одного большого числа. Для этого нужно посчитать сумму цифр справа налево. Если мы встречаем в числе цифру 5, то выводим сообщение «Обнаружен разрыв» и заканчиваем считать сумму. В конце программы на экран выводится сумма тех цифр, которые мы взяли.

number = int(input('Сколько число '))
summ = 0
while number != 0:
    last_number = number % 10
    print(last_number)
    if last_number == 5:
        print('
Обнаружен разрыв')
        break
    summ += last_number
    number //= 10
print('
Смумма цифр ', summ)

Задача 3. Ставки приняты, ставок больше нет

Костя опять за старое! Только теперь он играет в кубики более надёжно, то есть на какую-то фиксированную сумму. И при этом пока что постоянно выигрывает! Однако по правилам это не мешает ему проиграть сразу всё.

Напишите программу, которая запрашивает у пользователя начальное количество денег и, пока оно меньше 10 000, запрашивает число, которое выпало на кубике (от 1 до 6). Если на кубике выпало 3, то выводится сообщение «Вы проиграли всё!», и деньги обнуляются. Если выпало другое число, к сумме прибавляется 500.

Пример:

Введите стартовую сумму: 5000

Сколько выпало на кубике? 4

Выиграли 500 рублей!

Сколько выпало на кубике? 5

Выиграли 500 рублей!

Сколько выпало на кубике? 3

Вы проиграли всё!

Игра закончена.

Итого осталось: 0 рублей

Пример 2:

Введите стартовую сумму: 9700

Сколько выпало на кубике? 4

Выиграли 500 рублей!

Игра закончена.

Итого осталось: 10200 рублей

cash = int(input('Сколько у вас денег '))
while cash < 10000:
    cube_number = int(input('Введите число на кубике '))
    if cube_number == 3:
        cash = 0
        print('Вы проиграли все')
        break
    cash += 500
    print('Вы выиграли 500 рублей')
print('Игра окончена')
print('Итого осталось', cash, 'рублей')

 

Урок 3. Бесконечный цикл. Логический тип данных

Задача 1. Неправильный таймер

Петя писал таймер для телефона, но у него что-то пошло не так.

count = 0
While count <= 10
 if count == 0:
   print('
Время вышло!')
 else:
   print(count)
   count -= 1

count = 10
while count >= 0:
    print(count)
    count -= 1
print('
Время вышло!')

Скопируйте программу в редактор, исправьте ошибки и убедитесь, что на экран выводятся числа с 10 до 0 и сообщение «Время вышло!».

count = 0
while count <= 10:
 if count == 0:
    count -= 1
    print('
Время вышло!')
   
break
 else:
    print(count)

Задача 2. Тестируем приложение

Напишите программу, которая имитирует работу с приложением: программа спрашивает у пользователя «Продолжаем работать? 1/0: » до тех пор, пока пользователь не введёт 0, — после этого выводится сообщение: «Приложение закрывается…». В конце программы также выводится сообщение: «Работа завершена». Для создания бесконечного цикла используйте while True.

while True:
    a = int(input('
Продолжать работу? 1/0: '))
    if a == 0:
        print('Приложение закрывается')
        break
print('Работа завершена')

Задача 3. Вирус

Дима написал программу-вирус специально для того, чтобы проучить своего друга-должника, который никак не хочет возвращать скейтборд. Программа не даёт работать за компьютером и постоянно выводит на экран сообщение «Компьютер заблокирован. Вернёшь скейт — скажу код разблокировки!». Как только вводится правильный код, вирус удаляется. Напишите такую же программу, которую написал Дима.

Пример:

Компьютер заблокирован. Вернёшь скейт — скажу код разблокировки!

Введите код: 1005

Компьютер заблокирован. Вернёшь скейт — скажу код разблокировки!

Введите код: 7777

Компьютер заблокирован. Вернёшь скейт — скажу код разблокировки!

Введите код: 0550

Код верный, завершаю работу...

virus_code = input('Введите код ')
while virus_code !=
'0550':
    print('Компьютер заблокирован. Вернешь скейт - скажу код')
    break
print('Код верный')

Урок 4. Цикл while со счётчиком

Задача 1. Надоедливый заказчик

Нашему заказчику нужно, чтобы фраза «Я — программист!» выводилась на экран столько раз, сколько он сам этого захочет.

Напишите программу, которая запрашивает число — количество строчек с фразой «Я — программист!» — и столько же раз выводит на экран эту фразу. Для решения задачи используйте переменную-счётчик, которая увеличивается на единицу до тех пор, пока не будет введено нужное количество слов.

line = int(input('количество строчек с фразой «Я — программист!» '))
line_count = 0
while line_count < line:
    print('
Я программист', line_count)
    line_count += 1

Задача 2. Напоминалка

У Евгения много работы, а ещё он очень забывчивый. Иногда он забывает о какой-нибудь важной встрече, и ему приходится выслушивать критику от начальства. Напишите для него программу-напоминалку. В самом начале программа спрашивает, сколько раз ему напомнить, а затем нужное количество раз выводит: «Вы хотели не забыть о чём-то».

count = int(input('Сколько раз напомнить '))
count_critic = 0
while count_critic < count:
    print('
Вы хотели не забыть о чём-то»')
    count_critic += 1

Задача 3. Рыбалка

Наши прекрасные родственники удачно сходили на рыбалку. Настолько, что ходили мешком перетаскивать рыбу с берега в машину целых n раз. Каждый мешок они взвешивали на электронных весах (все мешки весили по-разному). Напишите программу для весов, которая считает суммарный вес мешков и выводит его на экран.

count = int(input('Сколько раз мешков '))
bags_count = 0
total_weigth = 0
while bags_count < count:
    weigth = int(input('Сколько весит мешок '))
    total_weigth += weigth
    bags_count += 1
print('Общий вес мешков', total_weigth)

Домашняя работа

Задача 1. Кубы чисел

Что нужно сделать

У любителя математики Паши есть распечатанные таблички со степенями двойки. Теперь он хочет взять степень тройки от единицы до абсолютно любого числа!

Напишите программу, которая возводит в третью степень каждое число от 1 до N и выводит результат на экран.

Что оценивается

  • результат вывода корректен, решение использует цикл while; 
  • input содержит корректное приглашение для ввода;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

Задача 2. Коллекторы

Что нужно сделать

Напишите робота для коллекторов. В самом начале он спрашивает имя должника и сумму долга, а затем начинает требовать у него погашения до тех пор, пока он не введёт нужную сумму (равную сумме долга или больше). После погашения долга робот сообщает об этом пользователю и благодарит его.

Пример:

Василий, ваша задолженность составляет 100 рублей.

Сколько рублей вы внесёте прямо сейчас, чтобы её погасить? 50

Маловато, Василий. Давайте ещё раз.

Сколько рублей вы внесёте прямо сейчас, чтобы её погасить? 90

Маловато, Василий. Давайте ещё раз.

Сколько рублей вы внесёте прямо сейчас, чтобы её погасить? 110

Отлично, Василий! Вы погасили долг. Спасибо!

Рекомендация

Обратите внимание — считать сумму внесённых средств не нужно, это не соответствует условию задачи.

Что оценивается

  • input содержит корректное приглашение для ввода;
  • результат вывода корректен;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

Задача 3. Слишком большие числа

Что нужно сделать

У неудачливого бухгалтера всё опять идёт наперекосяк: ему приносят такие большие счета, что числа не помещаются на бумаге. 

Напишите программу, которая считала бы для него, сколько десятичных цифр (знаков) во вводимом числе.

Что оценивается

  • input содержит корректное приглашение для ввода;
  • результат вывода корректен, правильно подсчитано количество цифр в числе;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях;
  • используется цикл while;
  • решение не использует работу со строками и операции над ними.

Задача 4. Календари

Что нужно сделать

Ваня увлекается историей, в особенности календарями. Он изучает календари разных времён, эпох и народностей. Для исследования ему нужно посчитать, у кого сколько было месяцев с чётным количеством дней.

Напишите программу, которая считает количество только чётных чисел в последовательности (последовательность заканчивается при вводе нуля) и выводит ответ на экран.

Что оценивается

  • input содержит корректное приглашение для ввода;
  • результат вычислений корректен, ввод осуществляется внутри цикла;
  • при вводе 0 происходит выход из цикла;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

Задача 5. Счастливый билетик

Что нужно сделать

В старину, когда даже в столице билеты в общественном транспорте выдавали контролёры, существовало поверье: если на билете сумма первых трёх цифр в номере билета равна сумме последних трёх, то это к удаче. 

Напишите программу, которая получала бы на входе шестизначный номер билета и выводила, счастливый это билет или нет. К примеру, билеты 666 666 и 252 135 — счастливые, а 123 456 — нет. Подумайте, нужны ли для решения этой задачи циклы?

Что оценивается

  • input содержит корректное приглашение для ввода;
  • результат вычислений корректен;
  • решать можно как в цикле, так и без него;
  • в решении не используются работа со строками и операции над ними;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

Задача 6. Поставьте оценку!

Что нужно сделать

Вася выложил своё новое приложение на платформу для начинающих разработчиков, на ней пользователи могут ставить оценку приложению от −100 до 100. Ему захотелось сравнить количество положительных и отрицательных отзывов, для этого он заранее отфильтровал все отзывы так, чтобы в конце были те, которые равны нулю.

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

Пример:

Введите число: −4

Введите число: −90

Введите число: 6

Введите число: 0

Кол-во положительных чисел: 1

Кол-во отрицательных чисел: 2

Что оценивается

  • результат вычислений корректен;
  • формат вывода соответствует примеру;
  • input содержит корректное приглашение для ввода;
  • ввод чисел осуществляется внутри цикла;
  • при вводе 0 происходит выход из цикла и производится вывод подсчитанных положительных и отрицательных чисел;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

Задача 7. Обычный день на работе

Что нужно сделать

Максим программирует целый день на работе и вечером идёт домой. Каждый час начальство кидает ему несколько задач, которые нужно решить до следующего рабочего часа. Вдобавок каждый час Максиму звонит супруга. Он знает, что если он возьмёт трубку, то жена попросит зайти вечером в магазин.

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

Пример:

Начался 8-часовой рабочий день

1-й час

Сколько задач решит Максим? 1

Звонит жена. Взять трубку? (1 — да, 0 — нет):  0

2-й час

Сколько задач решит Максим? 2

Звонит жена. Взять трубку? (1 — да, 0 — нет): 0

3-й час

Сколько задач решит Максим? 3

Звонит жена. Взять трубку? (1 — да, 0 — нет):  0

4-й час

Сколько задач решит Максим? 4

Звонит жена. Взять трубку? (1 — да, 0 — нет):  1

5-й час

Сколько задач решит Максим? 5

Звонит жена. Взять трубку? (1 — да, 0 — нет):  0

6-й час

Сколько задач решит Максим? 1

Звонит жена. Взять трубку? (1 — да, 0 — нет):  0

7-й час

Сколько задач решит Максим? 2

Звонит жена. Взять трубку? (1 — да, 0 — нет):  1

8-й час

Сколько задач решит Максим? 3

Звонит жена. Взять трубку? (1 — да, 0 — нет):  0

 

Рабочий день закончился. Всего выполнено задач: 21

Нужно зайти в магазин.

Что оценивается

  • input содержит корректное приглашение для ввода;
  • формат вывода соответствует примеру;
  • число итераций не превосходит число рабочих часов;
  • используется флаг для учёта факта звонка жены;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

Задача 8. Вклады

Что нужно сделать

Вклад в банке составляет X рублей. Ежегодно он увеличивается на P процентов, после чего дробная часть копеек отбрасывается. Определите, через сколько лет вклад составит не менее Y рублей. 

Напишите программу, которая по данным числам X, Y, P определяет, сколько лет пройдёт, прежде чем сумма достигнет значения Y.

Что оценивается

  • результат вычислений корректен;
  • input содержит корректное приглашение для ввода;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

Задача 9. Игра «Угадай число»

Что нужно сделать

В одном из домашних заданий мы делали задачу, где папа-программист написал для сына программу, которая просит его угадать число. Недостаток программы был в том, что бедному сыну приходилось её каждый раз перезапускать, чтобы угадывать число. Теперь, когда мы знаем гораздо больше, пришло время исправить этот недостаток и заодно немного улучшить саму игру.

Напишите программу-игру, которая запрашивает у пользователя число до тех пор, пока он его не отгадает. Выводите сообщения в соответствии с примером.

Пример (загадали число 7):

Введите число: 3

Число меньше, чем нужно. Попробуйте ещё раз!

Введите число: 10

Число больше, чем нужно. Попробуйте ещё раз!

Введите число: 8

Число больше, чем нужно. Попробуйте ещё раз!

Введите число: 7

Вы угадали! Число попыток: 4

Что оценивается

  • формат вывода соответствует заданию;
  • input содержит корректное приглашение для ввода;
  • переменные имеют значащие имена, не только a, b, c, d (видео 2.3);
  • правильное употребление пробелов после запятых и при бинарных операциях.

 

Задача 10. Игра «Компьютер угадывает число»

Что нужно сделать

Поменяйте мальчика и компьютер из прошлой задачи местами. Теперь мальчик загадывает число между 1 и 100 (включительно). Компьютер может спросить у мальчика: «Твоё число равно, меньше или больше, чем число N?», где N — число, которое хочет проверить компьютер. Мальчик отвечает одним из трёх чисел: 1 — равно, 2 — больше, 3 — меньше.

Напишите программу, которая с помощью цепочки таких вопросов и ответов мальчика угадывает число.

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

Что оценивается

  • результат вычислений корректен;
  • input содержит корректное приглашение для ввода;
  • правильное употребление пробелов после запятых и при бинарных операциях.

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал
Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 102 618 материалов в базе

Материал подходит для УМК

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 23.10.2022 2633
    • DOCX 36 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Данилов Максим Леонидович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Данилов Максим Леонидович
    Данилов Максим Леонидович
    • На сайте: 7 лет
    • Подписчики: 0
    • Всего просмотров: 99052
    • Всего материалов: 33

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой