10 проектов с кодом на Python для начинающих
Вы только начинаете изучать язык Python и хотите отточить свои навыки программирования? Мы поможем вам! В этой статье мы расскажем о 10 проектах на Python для начинающих, которые одновременно являются увлекательными и познавательными. Каждый проект содержит название, пошаговую инструкцию, кодовое решение и пояснение к коду.
В моем телеграм канале вы найдете много задач с собеседований и акутальных инструментов и гайдов для Python разработчиков.
1. Игра “Виселица
Инструкции: Создайте классическую игру “Виселица”. Предложите пользователю угадывать слово по буквам до тех пор, пока он не угадает его правильно или пока не закончатся попытки.
Кодовое решение:
import random
def hangman():
words = ['python', 'hangman', 'programming', 'code']
word = random.choice(words)
guesses = ''
attempts = 6
while attempts > 0:
for char in word:
if char in guesses:
print(char, end=' ')
else:
print('_', end=' ')
print()
guess = input("Guess a letter: ")
guesses += guess
if guess not in word:
attempts -= 1
if set(word) <= set(guesses):
print("Congratulations! You guessed the word.")
break
elif attempts == 0:
print("Sorry, you ran out of attempts. The word was", word)
hangman()
Пояснения к коду: Игра “Виселица” начинается со случайного выбора слова из списка. Затем игроку предлагается ввести букву. Если буква есть в слове, то она раскрывается, в противном случае игрок теряет попытку. Игра продолжается до тех пор, пока слово не будет угадано или у игрока не закончатся попытки.
2. Калькулятор
Инструкции: Создайте простой калькулятор, выполняющий основные арифметические операции (+, -, *, /) над двумя числами.
Кодированное решение:
def calculator():
num1 = float(input("Enter the first number: "))
operator = input("Enter an operator (+, -, *, /): ")
num2 = float(input("Enter the second number: "))
if operator == '+':
print(num1 + num2)
elif operator == '-':
print(num1 - num2)
elif operator == '*':
print(num1 * num2)
elif operator == '/':
print(num1 / num2)
else:
print("Invalid operator")
calculator()
Пояснения к коду: Программа-калькулятор принимает на вход два числа и оператор. В зависимости от введенного оператора программа выполняет соответствующую арифметическую операцию и выводит результат на экран.
3. Угадайте число
Инструкции: Создайте игру, в которой компьютер генерирует случайное число, а игрок пытается угадать его за определенное количество попыток.
Кодовое решение:
import random
def guess_the_number():
number = random.randint(1, 100)
attempts = 0
while True:
guess = int(input("Take a guess: "))
attempts += 1
if guess < number:
print("Too low!")
elif guess > number:
print("Too high!")
else:
print("Congratulations! You guessed the number in", attempts, "attempts.")
break
guess_the_number()
Пояснение к коду: В этой игре компьютер генерирует случайное число от 1 до 100. Затем игроку предлагается угадать это число. После каждого угадывания программа выдает сообщение о том, было ли угадываемое число слишком большим или слишком маленьким. Игра продолжается до тех пор, пока игрок не угадает число правильно.
4. Список дел
Инструкции: Создать приложение для составления списка дел, позволяющее пользователю добавлять, просматривать и удалять задачи.
Кодированное решение:
def todo_list():
tasks = []
while True:
print("1. Add a task")
print("2. View tasks")
print("3. Remove a task")
print("4. Quit")
choice = input("Enter your choice: ")
if choice == '1':
task = input("Enter a task: ")
tasks.append(task)
elif choice == '2':
if tasks:
print("Tasks:")
for task in tasks:
print(task)
else:
print("No tasks.")
elif choice == '3':
if tasks:
task = input("Enter the task to remove: ")
if task in tasks:
tasks.remove(task)
print("Task removed.")
else:
print("Task not found.")
else:
print("No tasks.")
elif choice == '4':
break
else:
print("Invalid choice. Try again.")
todo_list()
Пояснения к коду: Программа “Список дел” позволяет пользователю добавлять задачи, просматривать существующие задачи, удалять конкретные задачи и выходить из программы. Задачи хранятся в списке, и выбор пользователя обрабатывается соответствующим образом.
5. Симулятор игры в кости
Инструкции: Имитация бросания игральных костей. Дайте пользователю возможность выбрать количество игральных костей и выведите на экран результаты.
Кодированное решение:
import random
def dice_simulator():
num_dice = int(input("Enter the number of dice: "))
rolls = []
for _ in range(num_dice):
roll = random.randint(1, 6)
rolls.append(roll)
print("Rolls:", rolls)
dice_simulator()
Пояснения к коду: Программа-симулятор игры в кости предлагает пользователю ввести количество игральных костей, которые он хочет бросить. Затем она генерирует случайные числа от 1 до 6 для каждой кости и выводит результаты на экран.
6. Счетчик слов
Инструкции: Создайте программу, которая подсчитывает количество слов в заданном тексте.
Кодированное решение:
def word_counter():
text = input("Enter some text: ")
words = text.split()
count = len(words)
print("Word count:", count)
word_counter()
Пояснения к коду: Программа счетчика слов принимает введенный пользователем текст и разбивает его на отдельные слова с помощью функции split(). Затем она подсчитывает количество слов и выводит результат на экран.
7. Последовательность Фибоначчи
Инструкции: Сгенерировать последовательность Фибоначчи до заданного количества членов.
Кодированное решение:
def fibonacci_sequence():
num_terms = int(input("Enter the number of terms: "))
sequence = [0, 1]
for _ in range(2, num_terms):
next_term = sequence[-1] + sequence[-2]
sequence.append(next_term)
print("Fibonacci sequence:", sequence)
fibonacci_sequence()
Пояснения к коду: Программа создания последовательности Фибоначчи предлагает пользователю ввести количество терминов, которые он хочет сгенерировать. Затем программа генерирует последовательность, начиная с первых двух членов (0 и 1) и итеративно вычисляя следующий член путем сложения двух предыдущих.
8. Программа для проверки палиндромов
Инструкции: Создайте программу, которая проверяет, является ли заданное слово или фраза палиндромом (читается одинаково как вперед, так и назад).
Кодированное решение:
def palindrome_checker():
word = input("Enter a word or phrase: ")
word = word.lowerword = word.replace(" ", "")
if word == word[::-1]:
print("Palindrome!")
else:
print("Not a palindrome.")
palindrome_checker()
Пояснения к коду: Программа проверки палиндромов принимает на вход слово или фразу, удаляет пробелы и переводит его в нижний регистр. Затем она сравнивает слово с его обратной стороной (word[::-1]), чтобы определить, является ли оно палиндромом.
9. Преобразователь температуры
Инструкции: Создайте программу, которая переводит температуру из градусов Цельсия в градусы Фаренгейта.
Кодированное решение:
def temperature_converter():
temperature = float(input("Enter the temperature: "))
unit = input("Enter the unit (C for Celsius, F for Fahrenheit): ")
if unit == 'C':
converted_temp = (temperature * 9/5) + 32
print("Converted temperature:", converted_temp, "F")
elif unit == 'F':
converted_temp = (temperature - 32) * 5/9
print("Converted temperature:", converted_temp, "C")
else:
print("Invalid unit")
temperature_converter()
Пояснения к коду: Программа конвертера температуры принимает на вход температуру и единицы измерения. Затем она преобразует температуру из градусов Цельсия в градусы Фаренгейта или наоборот в соответствии с заданными единицами измерения.
10. Игра Mad Libs
Инструкции: Создать игру Mad Libs, в которой пользователь заполняет пробелы в рассказе своими словами.
Кодированное решение:
def mad_libs():
noun = input("Enter a noun: ")
verb = input("Enter a verb: ")
adjective = input("Enter an adjective: ")
adverb = input("Enter an adverb: ")
print("Once upon a time, a", adjective, noun)
print("decided to", verb, adverb, "in the forest.")
mad_libs()
Пояснение к коду: Игра Mad Libs предлагает пользователю ввести существительное, глагол, прилагательное и наречие. Затем игра использует полученные слова, чтобы заполнить пробелы в заданном сюжете.
Каждый проект дает возможность отработать различные концепции программирования и усовершенствовать свои навыки работы с Python. Продолжайте исследовать, экспериментировать и создавать новые проекты, чтобы расширить свой путь в программировании. Счастливого программирования!
Рекомендую почитать мою статью на хабре 100 вопросов с собеседований Python
https://habr.com/ru/articles/782266/