2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonに百人一首を読み上げてもらった

Last updated at Posted at 2019-01-02

はじめに

年始早々に「百人一首やってないやん!」とか母が急に言い始めた。
こーゆうときに誰が歌読むの?ってなるので、そうだpyてょn(Python)に読ませよう!!

環境

  • Ubuntu 18.04 LTS
  • python3
  • pygame、mutagen は pip で突っ込むんやで
  • 百人一首の音声データは調べればでてくるから()

本編

とりあえずせっかちな百人一首ニキのために

# coding:utf-8
from mutagen.mp3 import MP3 as mp3
import pygame
import time
import random

directly = 'ココにディレクトリを'


def playMP3(filename):
    pygame.mixer.init()
    pygame.mixer.music.load(filename)
    mp3_length = mp3(filename).info.length
    pygame.mixer.music.play(1)  # 1回目の再生
    time.sleep(mp3_length + 7.0)  # 読み込みのラグを考慮して7秒足してる
    pygame.mixer.music.play(1)  # 2回目の再生
    time.sleep(mp3_length + 7.0)
    pygame.mixer.music.stop()


card = random.sample(range(1, 101), k=100)  # 順番のリストを作成
# print(card)

for i in range(100):
    print("\n{}枚目 [{}]".format(i + 1, card[i]))
    filename = directly + 'hyaku' + str(card[i]) + '.mp3'  # ここは音声ファイルの名前に依る
    playMP3(filename)
    tmp = input("put any key ...  ")

一首読み終わったら、なんか入力してEnter押せば、次行きます

軽く説明的なsomething

  • 百人一首って、もう取られた札を読まれても困るから、今回は順番をリストに突っ込んでる。
card = random.sample(range(1, 101), k=100)

# コレ スゴク ベンリ(なんか競プロでも使えそう(小並感))
  • それとpython って文字列強引に扱えるから便利じゃない?(他の言語知らないけど)
filename = directly + 'hyaku' + str(card[i]) + '.mp3'

# 例:hyaku26.mp3 (ファイル名)

最後に

今回初投稿なんで、python自信ニキいたらお手柔らかにお願いします。
ほとんどコピペは許して(プログラミングなんてそんなもんでしょ)

参考サイト

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?