Волшебное приключение в мире Python: Учимся кодить как настоящие волшебники!
Представь себе, что Python — это волшебный лес, полный приключений! Ты — маленький волшебник по имени Кодик, который только начинает свое путешествие. В этом лесу живут дружелюбные существа: переменные — это как волшебные коробочки, где ты хранишь сокровища (числа, слова или даже списки вещей). Функции — это заклинания, которые ты произносишь, чтобы что-то случилось, например, чтобы дерево выросло или река потекла быстрее.
Давай начнем с самого простого заклинания: print(). Это как волшебная палочка, которая показывает всем, что у тебя в коробочке. Например, если ты скажешь print("Привет, мир!"), то на небе появится радуга с этими словами. А input() — это ухо леса, которое слушает, что ты говоришь, и сохраняет это в коробочку. Если лес спросит: name = input("Как тебя зовут?"), то он запомнит твое имя и сможет поздороваться!
Арифметика в этом лесу — как сбор ягод: + для сложения (добавь ягоды в корзинку), - для вычитания (отними от зверька), * для умножения (размножь яблоки), / для деления (подели пирог на друзей). Мы будем решать загадки леса, чтобы стать сильнее. Каждая задача — это маленькое приключение, где ты поможешь Кодику решить проблему. А решение? Оно спрятано за волшебным кодом. Введи его, и заклинание раскроется с объяснениями, как будто старый мудрый дуб шепчет секреты.
Готов? Давай отправимся в путь! Ниже — задачи для тренировки. Для каждой есть описание, а решение покажется, если ввести код в поле ниже задачи.
Задача 001: Приветствие друга
Предложите пользователю ввести его имя и выведите приветственное сообщение. Hello [имя].
# Это простая программа для приветствия.
# Сначала мы спрашиваем имя у пользователя, как будто лес слушает твой голос.
# input() — это заклинание, которое ждет твоего ответа и сохраняет его в переменной name.
name = input("Введите ваше имя: ")
# Теперь выводим приветствие.
# print() — волшебная палочка, которая показывает текст.
# Мы соединяем "Hello" с именем и точкой, как будто склеиваем слова в предложение.
print("Hello " + name + ".")
Задача 002: Полное приветствие
Предложите пользователю ввести его имя и фамилию, после чего выведите приветственное сообщение. Hello [имя] [фамилия].
# Программа для полного приветствия, как будто встречаешь старого друга в лесу.
# Сначала спрашиваем имя.
name = input("Введите ваше имя: ")
# Затем фамилию — еще одна коробочка для хранения.
surname = input("Введите вашу фамилию: ")
# Выводим все вместе.
# print() соединяет слова с пробелами автоматически, если перечислить через запятую.
print("Hello", name, surname + ".")
Задача 003: Загадка про медведя
Напишите код, который выводит вопрос: «What do you call a bear with no teeth?», а в следующей строке выводит ответ: «A gummy bear!» Попробуйте обойтись одной строкой кода.
# Это шутка в одной строке кода, как быстрый фокус волшебника.
# \n — это символ новой строки, как прыжок на следующий уровень в лесу.
# print() выводит все сразу: вопрос, переход на новую строку и ответ.
print("What do you call a bear with no teeth?\nA gummy bear!")
Задача 004: Сложение двух чисел
Предложите пользователю ввести два числа. Сложите эти числа и выведите результат в виде The total is [результат].
# Программа для сложения, как сбор ягод в корзинку.
# input() получает текст, но int() превращает его в число, чтобы считать.
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
# Складываем и выводим.
# + — это заклинание сложения.
print("The total is", num1 + num2)
Задача 005: Сложение и умножение
Предложите пользователю ввести три числа. Сложите первые два числа, затем умножьте сумму на третье число. Выведите результат в виде The answer is [результат].
# Более сложное приключение: сложение и умножение, как рост деревьев.
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
num3 = int(input("Введите третье число: "))
# Сначала сумма, потом умножение.
sum = num1 + num2
result = sum * num3
# Выводим результат.
print("The answer is", result)
Задача 006: Пицца в лесу
Спросите, сколько кусков пиццы было у пользователя и сколько кусков он съел. Вычислите, сколько кусков пиццы у него осталось, и выведите результат в форме, удобной для пользователя.
# Как делить еду в лесу с друзьями.
total = int(input("Сколько кусков пиццы было всего? "))
eaten = int(input("Сколько кусков вы съели? "))
# Вычитание — отнимаем съеденное.
left = total - eaten
# Удобный вывод, как рассказ.
print("У вас осталось", left, "кусков пиццы.")
Задача 007: День рождения
Предложите пользователю ввести его имя и возраст. Увеличьте возраст на 1 и выведите сообщение: [имя] next birthday you will be [новый возраст].
# Праздник в лесу: предсказываем будущее.
name = input("Введите ваше имя: ")
age = int(input("Введите ваш возраст: "))
# Увеличиваем на 1.
new_age = age + 1
# Выводим предсказание.
print(name, "next birthday you will be", new_age)
Задача 008: Счет в ресторане
Предложите пользователю ввести общую сумму счета, а затем запросите общее количество участников обеда. Разделите сумму счета на количество участников и выведите сумму, которую должен заплатить каждый участник.
# Делим сокровища поровну.
total_bill = float(input("Введите общую сумму счета: ")) # float для десятичных чисел, как монеты с копейками.
people = int(input("Введите количество участников: "))
# Деление /.
each = total_bill / people
# Выводим с округлением, если нужно, но просто.
print("Каждый должен заплатить:", each)
Задача 009: Время в днях
Напишите программу, которая предлагает ввести промежуток времени в днях, а потом выводит количество часов, минут и секунд в этом промежутке.
# Время — как река в лесу.
days = int(input("Введите количество дней: "))
# Расчеты: 24 часа в дне, 60 минут в часе, 60 секунд в минуте.
hours = days * 24
minutes = hours * 60
seconds = minutes * 60
# Выводим все.
print("В", days, "днях:", hours, "часов,", minutes, "минут и", seconds, "секунд.")
Задача 010: Перевод веса
В одном килограмме 2,204 фунта. Предложите пользователю ввести вес в килограммах и переведите его в фунты.
# Переводим вес, как меняем валюту в волшебном магазине.
kg = float(input("Введите вес в килограммах: "))
# Коэффициент.
pounds = kg * 2.204
# Выводим.
print("Это", pounds, "фунтов.")
Задача 011: Деление чисел
Предложите пользователю ввести число больше 100, а затем число меньше 10. Сообщите, сколько раз меньшее число помещается в большем, в удобном формате.
# Как уместить маленькие камешки в большой камень.
large = int(input("Введите число больше 100: "))
small = int(input("Введите число меньше 10: "))
# Целое деление //, чтобы посчитать сколько раз.
times = large // small
# Выводим.
print(small, "помещается в", large, times, "раз.")
Изучаем Python: Волшебное приключение в мире кода — Часть 2
Волшебное приключение в мире Python: Учимся принимать решения как мудрые совы!
Привет, юный волшебник Кодик! Мы продолжаем наше путешествие по волшебному лесу Python. Теперь мы добрались до перекрестков — мест, где нужно принимать решения. Здесь живут условные заклинания: if, else и elif. Они как мудрые совы, которые проверяют условия и выбирают путь.
Например, if (если) проверяет: "Идет ли дождь?" Если да, то возьми зонт (код внутри if). Else (иначе) — наслаждайся солнцем! Мы можем проверять числа (>, <, ==), слова (с помощью .lower() для игнора регистра, как волшебный переводчик), и даже комбинировать условия.
Каждая задача — это загадка на перекрестке. Реши ее, и лес откроет новые тропы. Решения спрятаны за кодом . Введи его, и увидишь заклинание с объяснениями, как шепот ветра в листьях.
Готов выбрать правильный путь? Вперед!
Задача 012: Порядок чисел
Предложите пользователю ввести два числа. Если первое число больше второго, сначала выведите второе число, а потом первое. В противном случае выведите сначала первое число, а потом второе.
# Как расставить яблоки по размеру в корзинке.
# Вводим два числа, превращаем в int для сравнения.
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
# If проверяет условие: если первое больше второго, как большой камень тяжелее маленького.
if num1 < num2:
print(num2, num1) # Выводим меньшее первым.
else: # Иначе — в исходном порядке.
print(num1, num2)
Задача 013: Проверка на высоту
Предложите пользователю ввести число, меньшее 20. Если введенное число больше или равно 20, выведите сообщение «Too high»; в противном случае выведите сообщение «Thank you».
# Как проверить, не слишком ли высоко дерево.
num = int(input("Введите число меньше 20: "))
# >= — проверка "больше или равно", как сова смотрит вверх.
if num >= 20:
print("Too high")
else:
print("Thank you")
Задача 014: Диапазон чисел
Предложите пользователю ввести число от 10 до 20 (включительно). Если будет введено число из этого диапазона, выведите сообщение «Thank you»; в противном случае выведите сообщение «Incorrect answer».
# Как войти в секретный сад: только с правильным ключом-числом.
num = int(input("Введите число от 10 до 20: "))
# and соединяет условия: >=10 И <=20, как два стража у ворот.
if num >= 10 and num <= 20:
print("Thank you")
else:
print("Incorrect answer")
Задача 015: Любимый цвет
Предложите пользователю ввести любимый цвет. Если он введет «red», «RED» или «Red», выведите сообщение «I like red too». В противном случае выведите сообщение «I don’t like [colour], I prefer red».
# Цвета в лесу: красный — любимый.
color = input("Введите ваш любимый цвет: ")
# .lower() — заклинание, которое делает все буквы маленькими, чтобы игнорировать регистр.
if color.lower() == "red":
print("I like red too")
else:
# Вставляем цвет в сообщение.
print("I don’t like", color + ",", "I prefer red")
Задача 016: Погода и зонт
Спросите пользователя, идет ли дождь. Преобразуйте его ответ к нижнему регистру. Если пользователь ответит «yes», спросите, ветрено ли на улице. Если пользователь ответит «yes» и на второй вопрос, выведите сообщение «It is too windy for an umbrella»; в противном случае выведите сообщение «Take an umbrella». Если же пользователь не дал положительного ответа на первый вопрос, выведите сообщение «Enjoy your day».
# Погода в лесу: вложенные if, как тропинки внутри тропинок.
rain = input("Идет ли дождь? ").lower()
if rain == "yes": # Первый перекресток: дождь?
wind = input("Ветрено ли на улице? ").lower()
if wind == "yes": # Второй: ветер?
print("It is too windy for an umbrella")
else:
print("Take an umbrella")
else:
print("Enjoy your day")
Задача 017: Возраст и права
Предложите пользователю ввести его возраст. Если введенное значение равно 18 и более, выведите сообщение «You can vote»; если 17 — сообщение «You can learn to drive»; если 16 — сообщение «You can buy a lottery ticket». Если значение меньше 16, выведите сообщение «You can go Trick-or-Treating».
# Возраст — как уровни в замке: разные двери открываются.
age = int(input("Введите ваш возраст: "))
# elif — "иначе если", для нескольких проверок подряд.
if age >= 18:
print("You can vote")
elif age == 17:
print("You can learn to drive")
elif age == 16:
print("You can buy a lottery ticket")
else:
print("You can go Trick-or-Treating")
Задача 018: Оценка числа
Предложите пользователю ввести число. Если оно меньше 10, выведите сообщение «Too low»; если число лежит в диапазоне от 10 до 20 — сообщение «Correct». В остальных случаях выведите сообщение «Too high».
# Игра в угадывание: слишком низко, правильно или высоко.
num = int(input("Введите число: "))
if num < 10: # Меньше 10.
print("Too low")
elif num >= 10 and num <= 20: # Диапазон.
print("Correct")
else: # Больше 20.
print("Too high")
Задача 019: Выбор числа
Предложите пользователю ввести значение 1, 2 или 3. Если введено значение 1, выведите сообщение «Thank you»; если 2 — сообщение «Well done»; если 3 — сообщение «Correct». Если введено любое другое значение, выведите сообщение «Error message».
# Волшебные кнопки: 1,2,3 — разные призы.
num = int(input("Введите 1, 2 или 3: "))
if num == 1:
print("Thank you")
elif num == 2:
print("Well done")
elif num == 3:
print("Correct")
else:
print("Error message")
Изучаем Python: Волшебное приключение в мире кода — Часть 3
Волшебное приключение в мире Python: Строки — волшебные нити слов!
Здравствуй, маленький волшебник Кодик! Мы продолжаем блуждать по волшебному лесу Python и теперь находимся в долине Строк — где слова сплетаются как нити в паутине паука-рассказчика. Строки — это магические фразы, которые ты можешь измерять (len() — длина, как измерить длину реки), резать (срезы [start:end], как отрезать кусок веревки), менять регистр (.upper() для крика, .lower() для шепота, .title() для красивого заголовка) и соединять (+ или .join(), как связывать узлы).
Представь: имя — это нить, ты можешь сделать ее длиннее, добавив фамилию, или изменить, чтобы она сияла большими буквами. А в задаче с "поросячьей латынью" — это как заклинание, которое путает слова, чтобы спрятать секрет от злых духов!
Каждая задача — это плетение новой паутины. Реши ее, и нити станут крепче. Решения спрятаны за кодом. Введи его, и увидишь заклинание с объяснениями, как паук учит плести сеть.
Готов сплести слова? Давай!
Задача 020: Длина имени
Предложите пользователю ввести имя. Выведите длину имени.
# Как измерить длину волшебной нити-имени.
# input() — слушаем имя.
name = input("Введите ваше имя: ")
# len() — заклинание длины, считает буквы.
print("Длина вашего имени:", len(name))
Задача 021: Полное имя и длина
Предложите пользователю ввести сначала имя, а затем фамилию. Соедините их, разделив пробелом, после чего выведите полное имя и его длину.
# Сплетаем две нити: имя и фамилию.
name = input("Введите ваше имя: ")
surname = input("Введите вашу фамилию: ")
# + для соединения с пробелом.
full_name = name + " " + surname
# Выводим полное и длину.
print("Полное имя:", full_name)
print("Длина:", len(full_name))
Задача 022: Титульный регистр
Предложите пользователю ввести имя и фамилию в нижнем регистре. Преобразуйте строки к титульному регистру и соедините их. Выведите полученный результат.
# Делаем нити красивыми: первая буква большая.
name = input("Введите имя в нижнем регистре: ")
surname = input("Введите фамилию в нижнем регистре: ")
# .title() — заклинание для заголовка.
name_title = name.title()
surname_title = surname.title()
# Соединяем.
full_name = name_title + " " + surname_title
print(full_name)
Задача 023: Срез строки
Предложите пользователю ввести первую строку какого-нибудь стихотворения, выведите длину строки. Запросите начальную и конечную позицию и выведите только эту часть строки (не забудьте, что в Python нумерация индексов начинается с 0, а не с 1).
# Стих — длинная нить, режем кусок.
line = input("Введите первую строку стихотворения: ")
# Длина.
print("Длина строки:", len(line))
# Позиции, int для чисел.
start = int(input("Начальная позиция (с 1): ")) - 1 # Минус 1, потому что Python с 0.
end = int(input("Конечная позиция (с 1): ")) # end не включается, так что -1 не нужно, если пользователь думает с 1.
# Срез [start:end].
print("Часть строки:", line[start:end])
Задача 024: Верхний регистр
Предложите пользователю ввести имя. Выведите его в верхнем регистре.
# Делаем имя громким, как крик в лесу.
name = input("Введите ваше имя: ")
# .upper() — все буквы большие.
print(name.upper())
Задача 025: Условное имя
Предложите пользователю ввести имя. Если длина имени меньше 5 символов, предложите ввести фамилию, соедините их (без пробела) и выведите полное имя в верхнем регистре. Если длина имени составляет 5 и более символов, выведите имя в нижнем регистре.
# Проверяем длину нити-имени.
name = input("Введите ваше имя: ")
if len(name) < 5: # Короткое — добавляем фамилию.
surname = input("Введите вашу фамилию: ")
full = name + surname # Без пробела.
print(full.upper())
else: # Длинное — шепот.
print(name.lower())
Задача 026: Поросячья латынь
В шифре «поросячья латынь» начальная согласная буква слова перемещается в конец слова, и к ней добавляется суффикс «ay». Если слово начинается с гласной, к нему просто добавляется суффикс «way». Например, pig превращается в igpay, banana — в ananabay, а aardvark — в aardvarkway. Напишите программу, которая предлагает пользователю ввести слово и преобразует его в «поросячью латынь». Проследите за тем, чтобы новое слово выводилось в нижнем регистре.
# Заклинание путаницы слов.
word = input("Введите слово: ").lower() # Сразу в нижний регистр.
# Гласные.
vowels = "aeiou"
if word[0] in vowels: # Начинается с гласной — +way.
pig = word + "way"
else: # Согласная — перемещаем первую букву в конец +ay.
pig = word[1:] + word[0] + "ay"
# Выводим.
print(pig)
Изучаем Python: Волшебное приключение в мире кода — Часть 4
Волшебное приключение в мире Python: Числа — магические эликсиры и измерения!
Эй, храбрый Кодик! Мы забрели в озеро Чисел в волшебном лесу Python, где числа плавают как рыбки: целые (int) — крепкие камни, а дробные (float) — искрящиеся капли воды с хвостиками после точки. Здесь мы учимся заклинаниям математики: умножать (*), делить (/ или // для целого), находить корни (sqrt как вытащить корень из земли), и даже призывать магическое число пи (π) — круглое, как озеро!
Чтобы работать с этими эликсирами, иногда зовем помощника import math — это как позвать старого друида, который знает секреты круглых форм (pi, sqrt). Мы можем округлять числа (round как подрезать хвостик капли), чтобы они были аккуратными. А в задачах с фигурами — измеряем площади и объемы, как строим домики для лесных жителей.
Каждая задача — это варка нового зелья. Смешай правильно, и магия сработает! Решения спрятаны за кодом. Введи его, и увидишь рецепт с объяснениями, как бульканье в котле.
Готов нырнуть в озеро? Поехали!
Задача 027: Умножение дробного числа
Предложите пользователю ввести число с большим количеством знаков в дробной части. Умножьте это число на 2 и выведите ответ.
# Как удвоить каплю воды с длинным хвостиком.
# float() — заклинание для дробных чисел.
num = float(input("Введите число с дробной частью: "))
# Умножаем на 2.
result = num * 2
# Выводим, с полным хвостиком.
print(result)
Задача 028: Округление до двух знаков
Измените программу из задачи 027 так, чтобы она выводила результат с точностью до двух знаков в дробной части.
# Удваиваем и подрезаем хвостик до 2 знаков.
num = float(input("Введите число с дробной частью: "))
result = num * 2
# round() — заклинание округления, 2 — сколько знаков оставить.
print(round(result, 2))
Задача 029: Квадратный корень
Предложите пользователю ввести целое число больше 500. Вычислите квадратный корень из этого числа и выведите его с точностью до двух знаков в дробной части.
import math # Зовем друида математики.
# Вводим число.
num = int(input("Введите число больше 500: "))
# math.sqrt() — вытаскиваем корень.
sqrt_num = math.sqrt(num)
# Округляем до 2 знаков.
print(round(sqrt_num, 2))
Задача 030: Число пи
Выведите число «пи» (π) с точностью до 5 знаков.
import math # Друид знает пи.
# math.pi — магическое круглое число.
pi = math.pi
# Округляем до 5 знаков.
print(round(pi, 5))
Задача 031: Площадь круга
Предложите пользователю ввести радиус круга (расстояние от центра до внешней границы.) Вычислите площадь круга (π * радиус2).
import math
# Радиус — как расстояние от центра озера.
radius = float(input("Введите радиус круга: "))
# Площадь: пи * радиус в квадрате (**2).
area = math.pi * (radius ** 2)
# Выводим.
print("Площадь круга:", area)
Задача 032: Объем цилиндра
Предложите пользователю ввести радиус и высоту цилиндра. Вычислите его объем (площадь круга * высота) и выведите его с точностью до трех знаков.
import math
radius = float(input("Введите радиус цилиндра: "))
height = float(input("Введите высоту цилиндра: "))
# Площадь основания * высота.
area = math.pi * (radius ** 2)
volume = area * height
# Округляем до 3 знаков.
print(round(volume, 3))
Задача 033: Деление с остатком
Предложите пользователю ввести два числа. Используйте целочисленное деление, чтобы разделить первое число на второе; вычислите остаток и выведите ответ в виде, удобном для пользователя (например, если пользователь ввел 7 и 2, выведите строку вида «если разделить 7 на 2, получится 3 с остатком 1»).
# Как делить яблоки: целые и остаток.
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
# // — целое деление, % — остаток.
whole = num1 // num2
remainder = num1 % num2
# Удобный рассказ.
print(f"Если разделить {num1} на {num2}, получится {whole} с остатком {remainder}")
Задача 034: Меню фигур
Выведите следующее сообщение: 1) Square 2) Triangle Enter a number: Если пользователь вводит 1, программа запрашивает длину стороны квадрата и выводит его площадь. Если пользователь вводит 2, программа запрашивает длину стороны и высоту треугольника, проведенную к этой стороне, после чего выводит его площадь. Если пользователь вводит что-то другое, программа должна выдать подходящее сообщение об ошибке.
# Меню как выбор зелья.
print("1) Square")
print("2) Triangle")
print("Enter a number:")
choice = int(input())
if choice == 1: # Квадрат — сторона**2.
side = float(input("Введите длину стороны квадрата: "))
area = side ** 2
print("Площадь квадрата:", area)
elif choice == 2: # Треугольник — (основа * высота) / 2.
base = float(input("Введите длину стороны треугольника: "))
height = float(input("Введите высоту треугольника: "))
area = (base * height) / 2
print("Площадь треугольника:", area)
else: # Ошибка.
print("Неверный выбор!")
Изучаем Python: Волшебное приключение в мире кода — Часть 5
Волшебное приключение в мире Python: Циклы — повторяющиеся заклинания и петли времени!
Приветствуй, юный чародей Кодик! Мы достигли холмов Повторений в волшебном лесу Python, где заклинания кружат в петлях, повторяясь снова и снова. Циклы — это как волшебные кольца: for для известного количества оборотов (как перебрать бусины на ожерелье с range() или буквы в слове), а while — пока условие светится правдой (как бежать, пока не увидишь замок).
Представь: имя — это заклинание, которое ты повторяешь три раза для силы, или таблица умножения — как ритм барабана, стучащий от 1 до 10. Циклы помогают считать, повторять и собирать, как пчелы мед. Но будь осторожен — бесконечный цикл как вечный вихрь!
Каждая задача — это завязывание новой петли. Развяжи ее, и сила возрастет! Решения спрятаны за кодом. Введи его, и увидишь ритуал с объяснениями, как эхо в пещере.
Готов закрутить петлю? Давай!
Задача 035: Повтор имени три раза
Предложите пользователю ввести имя. Выведите имя три раза.
# Как эхо повторяет имя три раза.
name = input("Введите ваше имя: ")
# for in range(3) — петля повторяет 3 раза.
for i in range(3):
print(name)
Задача 036: Повтор имени число раз
Измените программу из упражнения 35 так, чтобы она предлагала пользователю ввести имя и число, а затем выводила имя заданное количество раз.
name = input("Введите ваше имя: ")
num = int(input("Введите число: "))
# range(num) — повторяем num раз.
for i in range(num):
print(name)
Задача 037: Буквы имени по одной
Предложите пользователю ввести имя. Выведите каждую букву имени в отдельной строке.
name = input("Введите ваше имя: ")
# for letter in name — петля по буквам, как по бусинам.
for letter in name:
print(letter)
Задача 038: Буквы имени с повтором
Измените программу из упражнения 37 так, чтобы она также запрашивала число. Выведите имя (по одной букве в каждой строке) и повторите вывод равное введенному числу количество раз.
name = input("Введите ваше имя: ")
num = int(input("Введите число: "))
# Внешняя петля — повтор всего имени num раз.
for i in range(num):
# Внутренняя — по буквам.
for letter in name:
print(letter)
Задача 039: Таблица умножения
Предложите пользователю ввести число от 1 до 12. Выведите таблицу умножения для этого числа.
num = int(input("Введите число от 1 до 12: "))
# for i in range(1, 13) — от 1 до 12.
for i in range(1, 13):
print(f"{num} x {i} = {num * i}")
Задача 040: Обратный отсчет
Предложите пользователю ввести число до 50. Проведите обратный отсчет от 50 до введенного числа. Проследите за тем, чтобы введенное число было включено в вывод.
num = int(input("Введите число меньше 50: "))
# range(50, num-1, -1) — от 50 до num включительно, шаг -1.
for i in range(50, num - 1, -1):
print(i)
Задача 041: Условный повтор
Предложите пользователю ввести имя и число. Если число меньше 10, программа должна вывести имя заданное количество раз; в противном случае она выводит сообщение «Too high» три раза.
name = input("Введите ваше имя: ")
num = int(input("Введите число: "))
if num < 10: # Маленькое — повтор имени.
for i in range(num):
print(name)
else: # Большое — "Too high" 3 раза.
for i in range(3):
print("Too high")
Задача 042: Сумма с выбором
Присвойте переменной с именем total значение 0. Предложите пользователю ввести пять чисел, и после каждого ввода спрашивайте, хочет ли он включить это число в суммирование. Если ответ будет положительным, прибавьте введенное число к total. Если же ответ будет отрицательным, число к total не прибавляется. После ввода всех пяти чисел выведите значение total.
total = 0
# 5 раз — for in range(5).
for i in range(5):
num = int(input("Введите число: "))
include = input("Включить это число в сумму? (yes/no): ").lower()
if include == "yes":
total += num # Прибавляем.
print("Сумма:", total)
Задача 043: Отсчет по направлению
Спросите у пользователя, в каком направлении он хочет вести отсчет (в прямом или обратном). Если выбран прямой отсчет, запросите число и проведите отсчет от 1 до введенного числа. Если выбран обратный отсчет, запросите число меньше 20, а затем проведите обратный отсчет от 20 до заданного числа. Если введено что-то другое, выведите сообщение «I don’t understand».
direction = input("Направление отсчета (d для прямого, u для обратного): ").lower()
if direction == "d": # Прямой.
num = int(input("Введите число: "))
for i in range(1, num + 1):
print(i)
elif direction == "u": # Обратный.
num = int(input("Введите число меньше 20: "))
for i in range(20, num - 1, -1):
print(i)
else:
print("I don’t understand")
Задача 044: Приглашения на вечеринку
Спросите у пользователя, скольких людей он хочет пригласить на вечеринку. Если будет введено число меньше 10, запросите имена и после каждого имени выведите строку «[имя] has been invited». Если введенное число больше или равно 10, выведите сообщение «Too many people».
num_people = int(input("Сколько людей пригласить? "))
if num_people < 10: # Мало — приглашаем по именам.
for i in range(num_people):
name = input("Введите имя: ")
print(f"{name} has been invited")
else: # Много.
print("Too many people")
Изучаем Python: Волшебное приключение в мире кода — Часть 6
Волшебное приключение в мире Python: While-циклы — петли, которые бегут, пока не устанешь!
Эй, неутомимый Кодик! Мы забрались на горы While в волшебном лесу Python, где петли кружат, как вихрь ветра, продолжаясь, пока условие сияет правдой. While — это как бег по тропинке: "пока не добежишь до реки (условие верно), продолжай бежать!" В отличие от for, который знает, сколько шагов сделать, while не знает конца, пока не случится что-то особенное — как собрать достаточно яблок или угадать секрет.
Представь: ты собираешь сокровища (total), добавляя по одному, пока не наберешь больше 50 — и бац, петля ломается! Или угадываешь число, как в игре с драконом: "больше? меньше?" Пока не угадаешь, дракон не отпустит. While делает приключения непредсказуемыми и веселыми, но следи, чтобы не заблудиться в бесконечном круге!
Каждая задача — это новая петля времени. Закружи ее, и магия раскроется! Решения спрятаны за кодом. Введи его, и увидишь заклинание с объяснениями, как шепот горного эха.
Готов бежать в петле? Вперед!
Задача 045: Сумма до превышения 50
Присвойте total значение 0. Пока значение total равно 50 или менее, предложите пользователю ввести число. Прибавьте это число к total и выведите сообщение «The total is… [total]». Цикл должен остановиться, когда значение total превысит 50.
# Как собирать яблоки, пока корзинка не переполнится.
total = 0
# While — петля, пока total <= 50.
while total <= 50:
num = int(input("Введите число: "))
total += num # Добавляем.
print("The total is...", total)
Задача 046: Число больше 5
Предложите пользователю ввести число. Продолжайте запрашивать число, пока введенное число не будет больше 5, после чего выведите сообщение «The last number you entered was a [число]» и остановите программу.
# Как ждать, пока число не вырастет больше 5, как дерево.
num = 0 # Начинаем с малого.
# Пока num <= 5, спрашиваем снова.
while num <= 5:
num = int(input("Введите число: "))
# Когда вышло, говорим последнее.
print("The last number you entered was a", num)
Задача 047: Сумма с добавлением
Предложите пользователю ввести сначала одно число, а затем другое. Сложите два числа и спросите, хочет ли он прибавить еще одно. Если он введет «y», предложите ввести еще одно число; это продолжается до тех пор, пока пользователь не введет ответ «y». После того как цикл остановится, выведите сумму.
# Начинаем с двух чисел.
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
total = num1 + num2
# Пока 'y', добавляем еще.
add_more = "y"
while add_more == "y":
num = int(input("Введите еще число: "))
total += num
add_more = input("Прибавить еще одно? (y/n): ").lower()
# Выводим сумму.
print("Сумма:", total)
Задача 048: Приглашения на вечеринку
Предложите пользователю ввести имя человека, которого пользователь хочет пригласить на вечеринку. После этого выведите сообщение «[имя] has been invited» и увеличьте счетчик на 1. Спросите, хочет ли пользователь пригласить кого-то еще. Продолжайте запрашивать имена, пока пользователь не ответит отрицательно, и выведите количество приглашенных.
# Счетчик приглашенных.
count = 0
invite_more = "y"
# Пока 'y', приглашаем.
while invite_more == "y":
name = input("Введите имя для приглашения: ")
print(name, "has been invited")
count += 1
invite_more = input("Пригласить еще? (y/n): ").lower()
# Выводим количество.
print("Количество приглашенных:", count)
Задача 049: Угадывание числа
Создайте переменную с именем compnum и присвойте ей значение 50. Предложите пользователю ввести число. Пока предположение не совпадает со значением compnum, сообщите, больше оно или меньше compnum, и предложите ввести другое число. Если введенное значение совпадет с compnum, выведите сообщение «Well done, you took [попытки] attempts».
compnum = 50
attempts = 0
# Угадываем.
guess = int(input("Введите число: "))
attempts += 1
# Пока не равно.
while guess != compnum:
if guess < compnum:
print("Больше!")
else:
print("Меньше!")
guess = int(input("Введите число: "))
attempts += 1
# Угадал.
print("Well done, you took", attempts, "attempts")
Задача 050: Число в диапазоне
Предложите пользователю ввести число от 10 до 20. Если введенное значение меньше 10, выведите сообщение «Too low» и предложите повторить попытку. Если введенное значение больше 20, выведите сообщение «Too high» и предложите повторить попытку. Повторяйте до тех пор, пока не будет введено значение из диапазона от 10 до 20, после чего выведите сообщение «Thank you».
# Вход в секретный сад: 10-20.
num = int(input("Введите число от 10 до 20: "))
# Пока не в диапазоне.
while num < 10 or num > 20:
if num < 10:
print("Too low")
else:
print("Too high")
num = int(input("Повторите: "))
# Вошел.
print("Thank you")
Задача 051: Зеленые бутылки
Выведите строки «There are [счетчик] green bottles hanging on the wall, [счетчик] green bottles hanging on the wall, and if 1 green bottle should accidentally fall». Затем выведите вопрос: «how many green bottles will be hanging on the wall?». Если пользователь ответит правильно, выведите сообщение «There will be [счетчик] green bottles hanging on the wall». Если пользователь ответит неправильно, выведите сообщение «No, try again», пока не будет дан правильный ответ. Когда счетчик уменьшится до 0, выведите сообщение «There are no more green bottles hanging on the wall».
# Песенка о бутылках, как обратный отсчет.
bottles = 10 # Начинаем с 10, но задача подразумевает цикл вниз.
while bottles < 0:
print(f"There are {bottles} green bottles hanging on the wall,")
print(f"{bottles} green bottles hanging on the wall,")
print("and if 1 green bottle should accidentally fall.")
# Вопрос.
guess = int(input("How many green bottles will be hanging on the wall? "))
# Пока не правильно (bottles - 1).
while guess != bottles - 1:
print("No, try again")
guess = int(input("How many green bottles will be hanging on the wall? "))
# Правильно.
bottles -= 1
print(f"There will be {bottles} green bottles hanging on the wall.")
# Закончилось.
print("There are no more green bottles hanging on the wall")
Изучаем Python: Волшебное приключение в мире кода — Часть 7
Волшебное приключение в мире Python: Случайность — магия непредсказуемых сюрпризов!
Йо-хо, шаловливый Кодик! Мы забрели в чащу Случайностей в волшебном лесу Python, где ничто не предсказуемо, как прыжки зайца или полет бабочки! Здесь живет дух random — великий шутник, который выбирает числа (random.randint как вытащить билетик из шляпы), фрукты или цвета из списка (random.choice как ткнуть пальцем в корзинку). Это как бросать кубики судьбы или гадать на монетке — "орел" или "решка"?
Представь: ты загадываешь число, а друг угадывает, получая подсказки "больше" или "меньше" — как охота за сокровищем! Или игра в математику, где вопросы появляются случайно, как вспышки фейерверка. Random делает все веселым и неожиданным, как сюрприз в подарке. Но помни: чтобы призвать random, скажи import random — и магия начнется!
Каждая задача — это бросок кубика. Угадай правильно, и победа твоя! Решения спрятаны за кодом . Введи его, и увидишь фокус с объяснениями, как трюк фокусника.
Готов к сюрпризам? Бросай кубик!
Задача 052: Случайное число 1-100
Вывести случайное число в диапазоне от 1 до 100 включительно.
import random # Призываем духа случайностей.
# random.randint(a, b) — выбирает целое число от a до b включительно, как билетик из шляпы.
num = random.randint(1, 100)
print(num)
Задача 053: Случайный фрукт
Вывести случайное название фрукта из списка, содержащего пять названий.
import random
# Список фруктов — корзинка с выбором.
fruits = ["яблоко", "банан", "апельсин", "груша", "киви"]
# random.choice() — тянет один случайно.
fruit = random.choice(fruits)
print(fruit)
Задача 054: Орел или решка
Случайным образом выберите «орел» или «решку» ("h" или "t"). Предложите пользователю угадать ваш выбор. Если ваш выбор совпадает со случайно выбранным значением, выведите сообщение «You win»; в противном случае выведите сообщение «Bad luck». В конце сообщите пользователю, какое значение было загадано — «орел» или «решка».
import random
# Выбираем случайно: 'h' или 't'.
coin = random.choice(['h', 't'])
# Пользователь угадывает.
guess = input("Угадайте: orel (h) или reshka (t)? ").lower()
# Проверяем.
if guess == coin:
print("You win")
else:
print("Bad luck")
# Раскрываем: переводим в слова.
if coin == 'h':
print("Было загадано орел")
else:
print("Было загадано решка")
Задача 055: Угадай число 1-5
Выберите случайное число в диапазоне от 1 до 5. Предложите пользователю выбрать число. Если он угадал, выведите сообщение «Well done»; в противном случае сообщите, что его число больше или меньше вашего, и предложите выбрать другое число. Если со второго раза пользователь угадал, выведите сообщение «Correct», а если нет — сообщение «You lose».
import random
# Загадываем число.
secret = random.randint(1, 5)
# Первая попытка.
guess = int(input("Угадайте число от 1 до 5: "))
if guess == secret:
print("Well done")
else:
# Подсказка.
if guess < secret:
print("Ваше число меньше")
else:
print("Ваше число больше")
# Вторая попытка.
guess = int(input("Попробуйте еще: "))
if guess == secret:
print("Correct")
else:
print("You lose")
Задача 056: Угадай число 1-10
Выберите случайное целое число в диапазоне от 1 до 10. Предложите пользователю ввести число и проверьте, совпадает ли оно с загаданным. Продолжайте запрашивать числа до тех пор, пока пользователь не введет случайно выбранное число.
import random
secret = random.randint(1, 10)
# Пока не угадает.
guess = int(input("Угадайте число от 1 до 10: "))
while guess != secret:
guess = int(input("Не угадали, попробуйте еще: "))
Задача 057: Угадай с подсказкой
Измените программу 056 так, чтобы перед повторным предположением она сообщала пользователю, является ли его предположение больше или меньше загаданного числа.
import random
secret = random.randint(1, 10)
guess = int(input("Угадайте число от 1 до 10: "))
# Пока не равно, с подсказкой.
while guess != secret:
if guess < secret:
print("Меньше загаданного")
else:
print("Больше загаданного")
guess = int(input("Попробуйте еще: "))
Задача 058: Математическая игра
Напишите математическую игру, в которой пользователь должен ответить на пять вопросов. Каждый вопрос строится из двух случайно сгенерированных целых чисел (например, [num1] + [num2]). Предложите пользователю ввести ответ. Если пользователь ввел правильный ответ, добавьте одно очко в его пользу. В конце игры сообщите пользователю количество правильных ответов.
import random
score = 0
# 5 вопросов.
for i in range(5):
num1 = random.randint(1, 10)
num2 = random.randint(1, 10)
correct = num1 + num2 # Сложение, как пример.
answer = int(input(f"{num1} + {num2} = "))
if answer == correct:
score += 1
# Результат.
print("Количество правильных ответов:", score)
Задача 059: Угадай цвет
Выведите названия пяти цветов, случайным образом выберите один и предложите сделать то же пользователю. Если пользователь выберет тот же цвет, который выбрала программа, выведите сообщение «Well done»; в противном случае выведите ответ, в котором скрывается намек на правильный цвет. Предложите пользователю повторить попытку; если пользователь и на этот раз не угадает, снова выведите ту же подсказку и предложите выбрать цвет (и так далее, пока пользователь не выдаст правильный ответ).
import random
# Список цветов.
colors = ["красный", "синий", "зеленый", "желтый", "фиолетовый"]
# Выводим.
print("Цвета:", ", ".join(colors))
# Загадываем.
secret = random.choice(colors)
# Намек — первая буква, например.
hint = f"Цвет начинается с '{secret[0]}'"
# Угадываем.
guess = input("Угадайте цвет: ").lower()
while guess != secret:
print(hint)
guess = input("Попробуйте еще: ").lower()
# Угадал.
print("Well done")
Изучаем Python: Волшебное приключение в мире кода — Часть 3: Lambda функции
Волшебное приключение в мире Python: Lambda — быстрые заклинания без имен!
Привет, отважный Кодик! Мы углубляемся в лес Python и встречаем lambda — это как волшебные стрелы, которые ты пускаешь без имени! Lambda функции — короткие, анонимные заклинания, которые делают одно дело быстро. Вместо того чтобы строить большой замок-функцию с def, ты просто говоришь lambda x: x + 10 — и вот, стрела, которая добавляет 10 к любому числу!
Они идеальны для помощников вроде map (преврати все яблоки в корзинке), filter (выбери только красные ягоды) или sorted (расставь деревья по высоте). Lambda — как тайные помощники в твоем приключении, делают код короче и волшебнее. Представь: вместо длинного рассказа, короткий шепот, и магия срабатывает!
В этих задачах мы потренируем lambda на простых примерах. Каждая — маленькая загадка, где lambda спасает день. Решения спрятаны за кодом. Введи его, и увидишь заклинание с объяснениями, как искры от волшебной палочки.
Готов пустить стрелы? Давай!
Задача 020: Добавление и умножение
Напишите программу на Python, чтобы создать lambda-функцию, которая добавляет 15 к заданному числу, переданному в качестве аргумента, а также создайте lambda-функцию, которая умножает аргумент x на аргумент y и выводит результат.
# Lambda — короткое заклинание для добавления 15, как быстрый эликсир силы.
add_15 = lambda x: x + 15
# Выводим результат.
print(add_15(10)) # 25
# Lambda для умножения двух чисел, как слияние двух потоков.
multiply = lambda x, y: x * y
# Выводим.
print(multiply(12, 4)) # 48
Задача 021: Умножение на неизвестное
Напишите программу на Python, чтобы создать функцию, которая принимает один аргумент, и этот аргумент будет умножен на неизвестное заданное число.
# Функция, возвращающая lambda — как фабрика стрел.
def multiply_with(n):
return lambda x: x * n
# Создаем удвоитель, утроитель и т.д.
doubler = multiply_with(2)
print("Double the number of 15 =", doubler(15)) # 30
tripler = multiply_with(3)
print("Triple the number of 15 =", tripler(15)) # 45
# И так далее.
Задача 022: Сортировка кортежей
Напишите программу на Python, чтобы отсортировать список кортежей с помощью Lambda.
# Список кортежей, как коробочки с именами и числами.
subject_marks = [('English', 88), ('Science', 90), ('Maths', 97), ('Social sciences', 82)]
# Sorted с lambda-ключом: сортируем по второму элементу, как по высоте деревьев.
subject_marks.sort(key = lambda x: x[1])
# Выводим отсортированный список.
print(subject_marks) # [('Social sciences', 82), ('English', 88), ('Science', 90), ('Maths', 97)]
Задача 023: Сортировка словарей
Напишите программу на Python, чтобы отсортировать список словарей с помощью Lambda.
# Список словарей, как волшебные сумки с свойствами.
models = [{'make':'Nokia', 'model':216, 'color':'Black'}, {'make':'Mi Max', 'model':2, 'color':'Gold'}, {'make':'Samsung', 'model':7, 'color':'Blue'}]
# Sorted с lambda: по 'model', но поскольку model — число, сортируем по нему.
sorted_models = sorted(models, key = lambda x: x['model'])
# Выводим.
print(sorted_models) # [{'make': 'Mi Max', 'model': 2, 'color': 'Gold'}, {'make': 'Samsung', 'model': 7, 'color': 'Blue'}, {'make': 'Nokia', 'model': 216, 'color': 'Black'}]
Задача 024: Фильтр чисел
Напишите программу на Python, чтобы отфильтровать список целых чисел с помощью Lambda.
# Список чисел, как ягоды в корзине.
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Filter с lambda: четные — x % 2 == 0, как выбрать круглые камни.
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums) # [2, 4, 6, 8, 10]
# Нечетные.
odd_nums = list(filter(lambda x: x % 2 != 0, nums))
print(odd_nums) # [1, 3, 5, 7, 9]
Задача 025: Квадраты и кубы
Напишите программу на Python, чтобы возвести в квадрат и куб каждое число в заданном списке целых чисел с помощью Lambda.
Напишите программу на Python, чтобы найти, начинается ли заданная строка с заданного символа, с помощью Lambda.
# Lambda для проверки: начинается ли с 'P', как проверить, растет ли дерево с буквы П.
starts_with = lambda x: True if x.startswith('P') else False
# Тесты.
print(starts_with('Python')) # True
print(starts_with('Java')) # False
Задача 027: Извлечение даты
Напишите программу на Python, чтобы извлечь год, месяц, дату и время с помощью Lambda.
import datetime
# Текущая дата, как часовой механизм леса.
now = datetime.datetime.now()
print(now)
# Lambda для извлечения года и т.д.
year = lambda x: x.year
month = lambda x: x.month
day = lambda x: x.day
time = lambda x: x.time()
# Выводим.
print(year(now))
print(month(now))
print(day(now))
print(time(now))
Задача 028: Проверка на число
Напишите программу на Python, чтобы проверить, является ли заданная строка числом или нет, с помощью Lambda.