user9834916

На Пикабу
Дата рождения: 5 ноября
112 рейтинг 10 подписчиков 0 подписок 2 поста 0 в горячем
9

100 задач для изучения Python. Часть 2

Спасибо всем кому это было интересно) В связи с этим продолжаем - следующий блок из десяти задач, уже посложнее чем были в первом посте. Ссылка на пост, для тех кто не видел - 100 задач для изучения Python. Часть 1

Очень буду ждать ваши варианты, заметки, идеи в комментариях!


1. Определите максимальное из трех чисел.

a = int(input("Введите первое число: "))

b = int(input("Введите второе число: "))

c = int(input("Введите третье число: "))

max_number = max(a, b, c)

print(f"Максимальное число: {max_number}")

Вводим три переменные, которые являются целыми числами (а, b, с). Далее - вводим переменную, которая определяется функцией max() - эта функция выводит наибольшее из введенных значений. В нашем случае мы ввели три значения - а, b и c - и получим из них максимальное. После - отображаем результат.

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

year = int(input('Введите год: '))

if year % 4 == 0:

print('Год високосный!')

else:

print('Год не високосный.')

Введем переменную, в которую пользователь будет писать год. Далее вспомним - год високосный, если он делится на четыре без остатка. Учтем это условие в вариативности через if/else и отобразим результат. Почему равно двойное? А потому что одним равно мы задаем тождественность значению, а двойным равно - проверяем равенство значений.

3. Запросите оценку (A/B/C/D/F) и выведите описание (например, A – отлично).

grade = input('Введите вашу оценку A/B/C/D/F: ').upper()

if grade == 'A':

print('Отлично')

elif grade == 'B':

print('Хорошо')

elif grade == 'C':

print('Удовлетворительно')

elif grade == 'D':

print('Плохо')

elif grade == 'F':

print('Ужасно')

else:

print('Некорректная оценка.')

Вводим переменные через input(), которые будут обозначать оценки. С помощью метода .upper() если пользователь введет a, b, c и т.д. программа переведет введенное значение в заглавные буквы (есть похожий обратный метод .lower() для перевода в нижний регистр ). Далее вводим обозначения к оценкам - здесь используем оператор elif (else if), за счет которого мы можем сделать множественное ветвление. Закончим ветвление предупреждением, если пользователь введет некорректную оценку.

4. Проверьте, является ли строка палиндромом.

string = input('введите слово на проверку на палиндром: ')

is_palindrome = string.lower() == string.lower()[::-1]

if is_palindrome:

print('Да, слово палиндром')

else:

print('Нет, слово не палиндром')

Вводим переменную, в которую мы будем вписывать слово. Далее вводим вторую переменную (is_palindrome), которая будет определять равно наше слово перевернутому варианту или же нет (string.lower() == string.lower()[::-1]) и не забываем про .lower(), что бы избежать возможных ошибок. Здесь как раз таки наглядное использование одного равно и двойного равно. Далее отображаем результат - палиндром ли введенное нами слово.

5. Напишите калькулятор: запросите два числа и операцию (+, -, *, /).

a = int(input('Введите первое число: '))

b = int(input('Введите второе число: '))

do = input('Введите операцию +,-,*,/: ')

if do == '+':

print(a+b)

elif do == '-':

print(a-b)

elif do == '*':

print(a*b)

elif do == '/':

print(a/b)

else:

print('Неверная операция')

Перейдем к базе - калькулятору на питоне. Это самая его простая на мой взгляд версия (имею ввиду по навыкам). Вводим две переменных обозначающих числа и еще одну переменную, которая будет обозначать операцию. Далее сделаем ветвление на операции - сложение, вычитание, умножение и деление. Завершаем каждое ответвление печатью результата на экран, а всю программу завершаем печатью неверной операции, если пользователь введет что то не так. В этом калькуляторе деление на ноль не предусмотрено и вызывает стандартную ошибку.

6. Определите, находится ли точка (x, y) внутри круга радиусом 5 с центром в (0,0).

import math

x = int(input('Введите координату х: '))

y = int(input('Введите координату y: '))

radius = 5

distance = math.sqrt(x**2 + y**2)

if distance <= radius:

print('Точка находится внутри круга')

else:

print('Точка находится вне круга')

Начнем с импорта блока "math" - он нам нужен для математических операций (в нашем случае, извлечение корня в переменной distance). Далее, введем переменные (x и y) которые будут обозначать точки (в этом примере сделаем их целыми). Далее - введем переменную, которая будет обозначать радиус (в нашем случае 5, но можно и заменить на вводимое число через input() ). Далее введем переменную distance - она будет означать формулу расчета расстояния. Наконец, введем ветвление - если расстояние меньше радиуса, отображаем что точка внутри круга, и наоборот.

7. Запросите у пользователя время (часы) и выведите приветствие ("Доброе утро", "День", "Вечер").

time = int(input('Введите время 0-23: '))

if 0 <= time <= 5:

print('Доброй ночи!')

elif 6 <= time <= 12:

print('Доброе утро!')

elif 13 <= time <= 17:

print('Добрый день!')

elif 18 <= time <= 23:

print('Добрый вечер!')

else:

print('Некорректное время')

Введем переменную, которая будет обозначать время которое вводит пользователь. Далее вводим ветвление, разбитое по часам, отображающее в зависимости от этого приветствие. Замыкаем, по стандарту, ответом на некорректный ввод. А вы так же делите время? Пишите в комментарии.

8. Проверьте, можно ли из трех отрезков заданной длины составить треугольник.

a = float(input('Введите длину отрезка a: '))

b = float(input('Введите длину отрезка b: '))

c = float(input('Введите длину отрезка c: '))

if a + b > c and a + c > b and b + c > a:

print('Можно составить треугольник')

else:

print('Нельзя составить треугольник')

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

9. Реализуйте простую игру "Камень-ножницы-бумага" против компьютера.

import random

variants = ['камень', 'ножницы', 'бумага']

comp_choice = random.choice(variants)

user_choice = input('Выберите камень, ножницы или бумагу: ').lower()

if user_choice not in variants:

print('Неверный ввод!')

else:

print(f'Компьютер выбрал {comp_choice}!')

if user_choice == comp_choice:

print('Ничья!')

elif (user_choice == 'камень' and comp_choice == 'ножницы') or \

(user_choice == 'ножницы' and comp_choice == 'бумага') or \

(user_choice == 'бумага' and comp_choice == 'камень'):

print('Ура, победа!')

else:

print('К сожалению, машина победила!')

А вот и оно! Начнем с того что импортируем модуль random, так как в этой игре нам естественно нужен будет рандом. Далее введем переменную списком варианты для выбора (variants = [ ]). Обозначим переменную, по которой компьютер делает свой выбор из возможных вариантов, а так как выбор рандомный, здесь мы как раз и подключаем импортированный ранее рандом (comp_choice = random.choice(variants) ). Далее мы спрашиваем у пользователя выбранный вариант (не забываем про .lower() ) и переходим к ветвлению. Первый вариант заключается в некорректном вводе, далее учитываем варианты ничьей, победы пользователя и его поражения. Запускаем и наслаждаемся игрой в камень-ножницы-бумага :)

10. Решите квадратное уравнение ax² + bx + c = 0.

import cmath

a = float(input("Введите коэффициент a: "))

b = float(input("Введите коэффициент b: "))

c = float(input("Введите коэффициент c: "))

if a == 0:

print("Это не квадратное уравнение.")

else:

D = b**2 - 4*a*c

x1 = (-b + cmath.sqrt(D)) / (2*a)

x2 = (-b - cmath.sqrt(D)) / (2*a)

print("Корни уравнения:")

print("x1 =", x1)

print("x2 =", x2)

Импортируем cmath. Вводим переменные, обозначающие коэффициенты a, b и c. Далее, с помощью двойного равно сравниваем переменную a с нулем для проверки уравнения на то что оно вообще квадратное, а так же этим мы начинаем ветвление. Далее прописываем условие дискриминанта и корней уравнения. Далее по стандарту прописываем print() для их отображения.

На этом второй блок подошел к концу. Впереди еще 80 задач, дальше будет посложнее. Очень жду ваши комментарии и реакции. Следующую часть сделаю так же, на 10 плюсов.

Показать полностью
14

100 задач для изучения Python. Часть 1

Всем привет! Недавно решил прогуглить 100 задач на Питоне и не нашел именно той информации, которую искал. В связи с этим решил сделать такое, в помощь тем кто начинает изучать язык. Я поделил эти 100 задач на блоки, идущих по мере возрастания сложности и появления новых элементов. Это 1 часть - в ней будет самая база. Схему хочу сделать такую - задача, код, объяснение. Если зайдет, буду и дальше выкладывать по 10 задач (1 блок).

Итак, начну!

1. Напишем программу, которая выводит "Привет, мир!"

print('Привет, мир!')

Программа, с которой начинали, я думаю, все. Функция print() выводит содержимое этой функции на экран.

2. Посчитайте сумму чисел, допустим, 5 и 3.

a=(5+3)

print (a)

а=(5+3) - этой строчкой объявляем переменную "a" и то что она будет означать ( (5+3) ). Далее уже используем знакомую функцию print() для отображения результата.

3. Запросите имя пользователя и отобразите его.

name = input('введите имя пользователя - ')

print(name)

name = input('введите имя пользователя - ') - функция input() дает возможность ввести данные в переменную для дальнейшего использования. Далее - отображаем переменную.

4. Переведите градусы Цельсия в Фаренгейты

C = input('Введите температуру в Цельсиях: ')

C = int(C)

F = (C * 9/5 + 32)

print(f'Температура в Фаренгейтах: {F}')

C = input('введите температуру в цельсиях: ') - создаем переменную, в которую будем вписывать значение температуры по Цельсию. Далее - объявим что переменная C будет целым числом с помощью функции int(). Обозначаем переменную F формулой для вычисления, и после печатаем необходимый нам результат. Отмечу, что в базовой для нас print() добавилась буква f - эта буква даст нам возможность вписать в текст переменную через скобки {}.

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

x = int(input('Введите ваше число: '))

if x % 2 == 0:

print ('Ваше число четное')

else:

print ('Ваше число нечетное')

Обозначаем переменную x. В отличии от прошлого способа, добавляем int() к input(), в одну строку - удобнее и быстрее. Далее вводим новый для нас оператор ветвления if-elif-else, но пока только if/else. Строчкой if x % 2 == 0: обозначаем условие если, в нашем случае x % 2 == 0 определяет четное ли число если при делении x на 2 остаток равен 0. Далее, если введенное число четное с помощью print() отображаем ответ. На обратный случай у нас есть оператор else, который выведет другой ответ, если условие не выполнено (число не четное).

6. Посчитайте площадь круга по запрошенному от пользователя радиусу.

r=float(input('Введите радиус круга: '))

pi = 3.14

S=(pi * r ** 2)

print(S)

Вводим переменную, но вместо int() используем float(), так как нам нужно не целое число, а дробное число. Далее вводим переменную, которая будет означать число Пи. После объединяем это все в формулу (двойная звездочка "**" означает степень), и, как обычно, печатаем результат.

7. Напечатайте первые 10 натуральных чисел в одну строку.

for i in range (1,10):

print (i)

С помощью for и range создаем ряд и определяем количество чисел в ряду. Далее, по стандарту отображаем результат

8. Конвертируйте строку "123" в число и умножьте на 2.

str = '123'

n = int(str)

result = n * 2

print(result)

Создаем переменную, которая является строкой. Далее, переводим эту строку в целое число с помощью int(). Добавляем переменную, обозначающую результат и объявляем, что эта переменная должна умножить нашу строку на два. Выводим результат.

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

a = int(input('введите значение переменной а: '))

b = int(input('введите значение переменной б: '))

a, b = b, a

print(f'переменная а = {a}, переменная b = {b}')

Cоздаем две переменные - "a" и "b". С помощью int(input()) задаем им значение целых чисел. Следующим степом - просто меняем их местами, и далее отображаем результат.

10. Запросите у пользователя возраст и определите, совершеннолетний ли он (>=18).

age = int(input('Введите ваш возраст: '))

if age >= 18:

print('Вы совершеннолетний!')

else:

print('Вы несовершеннолетний!')

Создаем переменную, допустим, "age" и задаем ей значение целого числа. Далее, с помощью операторов if/else вводим условие, в нашем случае - больше либо равно 18. Выводим результат в соответствии с введенным числом.

На этом закончу первый блок. Здесь самая база, легкие и простые задачки. Надеюсь, кому то это поможет в освоении и наработке навыков. Наберем 10 плюсов, выложу вторую часть - там задачки уже посложнее :)

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества