0
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でツイッターでよく見るやつ作ってみた

Posted at

Pythonでツイッターでよく見るやつ作ってみた

はじめに

Progateでやっと3つ目の授業が終わりdefとかなんかを昨日覚えたので早速何か書こうと思いました!ひよっこプログラマーなりに色々考えたのでザーッとみてみてください!
今回はPythonを使って僕が最近ツイッターでよく見る『イクイクのホモ』とか『ゴツゴツのアハン』を自動変換?してくれるようなプログラムを書いてみました。
わからない方の為に少し説明すると、元は『ホクホクのイモ』や『アツアツのゴハン』ていう文を頭の文字をそれぞれ入れ替えるというものです。僕自身ルーツを知ってるわけではないのですが、シュールで面白いので"すこ"。

開発環境

  • Python3

(のみだったと思います…
このコードはコレがないと書けないはずだよっていうのあったら教えてくださいまし。)

やること

inputで形容詞?と名詞?を受け取ります。
この時、形容詞は4文字かつ1,2文字目と3,4文字目が同じものを受け取るようにします。
そして、受け取った文字列の先頭を交換してprint
以上です

changer.py
# -*- coding: utf-8 -*-

hiragana = "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん"
katakana = "ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴ"


def availability_judge(adjective,noun):
    if all([ch in katakana or ch in hiragana for ch in adjective and noun]):
        return True
    else:
        print('!!!ひらがなかカタカナのみで入力してください!!!')
        return False

def even_character(adjective):
    if len(adjective) == 4:
        return True
    else:
        print('2文字の擬音を2回繰り返す4文字の形容詞にしてください')
        return False

def mirror_judge(adjective):
    first_half_length = adjective[0:2]
    latter_half_length = adjective[2:4]
    if first_half_length == latter_half_length:
        return True
    else:
        print('2文字の擬音を2回繰り返す4文字の形容詞にしてください')
        return False

def conjunction(number):
    lists = ['','','','','']
    return (lists[number])


adjective = input('擬音語で形容詞を入力してください(パクパク、ぐるぐる):')
print('な: 0')
print('の: 1')
print('で: 2')
print('か: 3')
print('に: 4')
selected_number = int(input('接続助詞を半角数字で選んでください:'))
noun = input('ひらがなかカタカナで名詞を入力してください:')

if availability_judge(adjective,noun):
    if even_character(adjective):
        if mirror_judge(adjective):
            n = 1
            adjective_first_character = adjective[n-1]
            noun_first_character = noun[n-1]

            changed_adjective = (adjective.replace(adjective_first_character, noun_first_character))
            changed_noun = (noun.replace(noun_first_character, adjective_first_character))

selected_conjunction = conjunction(selected_number)

print(changed_adjective + selected_conjunction + changed_noun)

終わりに

defを使いたいが為に考えたプログラムですが乱用みたいになってしまいました。使い方があってるのかもわかっていないのですが、作動しているのでOKですwwww
せっかくのPythonなので、みやすく書きたかったのですがいかがでしょうか?実はエラーの処理や例外もガバガバで入力する側が気を使わなきゃいけないプログラムです。次の課題は『欲している条件以外の入力があったら警告文を出してやり直しさせる』ですね。
初めてのpythonにしては頑張ったと思っていますが、誰得なコードなので達成感に掛けますね。
3分でいいので使ってみてあげてください〜!
以上、Pythonでツイッターでよく見るやつ作ってみたでした!
ぽやしみ〜( ˘ω˘ ) スヤァ

0
1
3

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
0
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?