需要ナッシングなスクリプトを量産しています。
pythonのリスト生成を楽にする
pythonでいろいろやっているとリストを作成するのがめんどうなことがあります。たとえばアルファベットの羅列をリストにしたい場合、1文字だけなのにクォーテーションもしくはダブルクォーテーション、カンマをうたなければなりません。これが面倒なのでプログラムを作りました。
one_char_split.py
まず最初に任意の文字列を入力すると、1文字単位でリストにするpythonスクリプトです。
def one_char_split(): a_string = [] char = input("what char?: ") for c in char: a_string.append(c) print(a_string)
string_split.py
一文字ずつをリストにするのは簡単ですが、単語をリストにしようとすると少しだけ頭をひねる必要があります。任意の単語を入力し、exitと入力するまで単語入力をつづけるようにします。今回作ったプログラムの欠点は「exit」という単語は使えないという点です。(プログラム終了のフラグとして使用しているため)
def string_split(): strings = "" while True: string = input("what string? / eixt!!! (exit) / ") if string.endswith("exit"): break strings += string strings += "," strings = strings.rstrip(",") strings = strings.split(",") print(strings)
sys_test.py
任意の単語をリスト化したかった場合は sysモジュール を使う方法もあります。しかしこちらのスクリプトの場合はスクリプト実行時に引数をわたしてやる必要があります。以下のスクリプトには意味がありませんが sysモジュールの使い方を知ることができます。
import sys args = sys.argv for arg in args: print(arg)
コマンドは以下のように引数つきで実行します。
> python sys_test.py hoge fuga hogehoge
whileの中にwhile
できます。
import erace_space import replace_line import one_char_split import string_split while True: print("\n1: erace_space.py\n2: replace_line.py\n3: one_char_split.py\n4: string_split.py\nq: exit_program") number = input("please_choice_program_number?: ") if number == "1": erace_space.erace_space() elif number == "2": replace_line.replace_line() elif number == "3": one_char_split.one_char_split() elif number == "4": string_split.string_split() elif number == "q": break; print("exit program")
コメント