Pythonの面白いプログラム3選

Pythonの面白いプログラム3選

Pythonはシンプルな文法で初心者にもなじみやすく、ライブラリも数多くある世界で人気のプログラミング言語です。Pythonによる数値計算からWebアプリケーション開発まで幅広い分野で利用されています。今回は、Pythonで作成できる面白いプログラムについていくつか紹介します。

Python 面白いプログラム1: Webスクレイピングによる自動化

PythonはWeb上の情報収集の自動化にとても適した言語です。「自分の代わりにPC(=Pythonプログラム)が作業をしてくれる」という面白さを感じてみましょう。ここでは「Webスクレイピング」の例を紹介します。

「BeautifulSoup」というライブラリを使えば、Webサイトの情報を取得することが可能です。例えば、毎朝、自分がチェックしたいニュースサイトの見出しをPythonで自動取得して、Gmailのメールアドレスに送信してくれるプログラム例を作ってみましょう。

Python
import requests
from bs4 import BeautifulSoup
import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate

# ウェブサイトから情報を取得
url = "https://www.your-news-site.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# ニュースの見出しを取得
news_headlines = [headline.text for headline in soup.find_all('h2')]

# メールを作成
subject = "Today's Headlines"
body = "\n".join(news_headlines)
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = 'your-email@gmail.com'
msg['To'] = 'your-email@gmail.com'
msg['Date'] = formatdate()

# メールを送信
s = smtplib.SMTP('smtp.gmail.com', 587)
s.starttls()
s.login('your-email@gmail.com', 'your-password')
s.sendmail('your-email@gmail.com', 'your-email@gmail.com', msg.as_string())
s.close()

Python 面白いプログラム2: テキストベースのゲーム

Pythonで簡単なテキストベースのゲームを作ってみましょう。例えば、「数当てゲーム」を作ってみましょう。

Python
import random

print('「数当てゲーム」を始めます。1から10までの数を当ててください。')

answer = random.randint(1, 10)
while True:
    guess = input('あなたの予想を入力してください: ')
    if int(guess) == answer:
        print('おめでとう!正解です!')
        break
    else:
        print('残念、違います。再挑戦してください。')

Python 面白いプログラム3: アスキー(ASCII)アートの自動生成

最後に、文字だけで作られた絵(通称ASCIIアート)を自動生成するプログラムを作ってみましょう。Pythonのartというライブラリを使うと簡単に作成できます。

Python
from art import *

# テキストをASCIIアートに変換
ascii_art = text2art("Python")

# 結果を表示
print(ascii_art)

以下のような結果が表示されます。

shell
 ____          _    _
|  _ \  _   _ | |_ | |__    ___   _ __
| |_) || | | || __|| '_ \  / _ \ | '_ \
|  __/ | |_| || |_ | | | || (_) || | | |
|_|     \__, | \__||_| |_| \___/ |_| |_|
        |___/

まとめ

以上のように、Pythonを使えば、Webスクレイピングによる情報取得や、テキストベースのゲーム、そしてASCIIアートの自動生成など、さまざまな面白いプログラムを簡単に作成することができます。Pythonの初心者は、これらの例を参考に、ぜひ自分の興味のある面白いプログラムを作ってみてください!