トップページ⇒tech
983コメント276KB

くだすれPython(超初心者用) その4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/05/24(日) 19:25:51
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>950 辺りで

前スレ
くだすれPython(超初心者用) その3
http://pc12.2ch.net/test/read.cgi/tech/1232055225/

関連スレ
Pythonのお勉強 Part33
http://pc12.2ch.net/test/read.cgi/tech/1240678081/
0002デフォルトの名無しさん2009/05/24(日) 19:32:46
◆関連リンク
Python の Home Page
http://www.python.org/

Python 日本語ドキュメント - Pythonistaのお友達
http://www.python.jp/doc/release/

最新版直リン - 2.Xが推奨。3.Xはライブラリやドキュメントが使えないことも
http://www.python.org/download/

Python のコーディングガイド PEP8
http://www.python.org/dev/peps/pep-0008/

Python のコーディングガイド PEP8 - 日本語訳
http://www.oldriver.org/python/pep-0008j.html

日本語文字列コード問題まとめ
http://python.matrix.jp/tips/string/encoding.html

インタラクティブモードのエンコード
http://python.matrix.jp/tips/compatibility/interact_encoding.html
0003デフォルトの名無しさん2009/05/24(日) 19:34:48
2get
これはどう見てもおかしいだろ。 まず、主語が2。で動詞がget。
2が単数形だとしたら、getsにしないとおかしい上に、目的語がない。
直訳すると「2が得る」 何を得るんだよ!!!いいかげんにしろ。
それを言うなら
I get 2. だろ。しかも現在形だし。 過去形、いや現在完了形ぐらいまともに使ってくれよ。
I've got 2. 少しはましになって来たが、まだ気に入らない。その2だ。
いったいお前は何を手に入れたんだ?2という数字か?
違うだろ、手に入れたのは2番目のレスだろ。
どうも日本人は数詞と序数詞の区別がよく分かっていない節がある。
これらを踏まえて、正しくは
I've got the second responce of this thread.
ここでtheにも注目してもらいたい。このスレの2ってのは
特定の、このレスだけなんだから。だからaでも無冠詞でも なく、the second responceなんだ。
もう一度おさらいしてやる。

I've got the second responce of this thread.
0004デフォルトの名無しさん2009/05/24(日) 19:48:21
http://www.xrea.com/
ここで Python 使っているかたはいらっしゃいますか?
使いやすいですか?何か気をつけることとかありますか?
0005デフォルトの名無しさん2009/05/24(日) 19:55:23
>>4
バージョン2.3とか2.4.3とかだけどそれでもよければ
ttp://www.value-domain.com/xreaip.php
0006デフォルトの名無しさん2009/05/24(日) 19:58:05
確かビルド済みしてバイナリぶち込んだ猛者がいたような
0007デフォルトの名無しさん2009/05/24(日) 20:01:31
>>5-6
ありがとうございます
2.5 以上を想定していたので
とりあえず >>6 さんの方法で出来たひとのサイトとかがみつかるか調べてみます
0008デフォルトの名無しさん2009/05/24(日) 20:10:29
ぐぐると virtual-python の例が多いみたいですが
好きなバージョン入れてやってるひとがいたのでこれをまねしてみます〜
ttp://inforno.net/articles/2008/07/29/using-any-version-of-python-on-xrea-servers
ttp://inforno.net/articles/2009/01/25/using-any-version-of-python-on-xrea-servers-part2
0009デフォルトの名無しさん2009/05/24(日) 20:57:00
なんでこう、python はレンタルサーバーでの地位が低いんだろう。
0010デフォルトの名無しさん2009/05/24(日) 21:14:53
インストールしても誰も使わないから
0011デフォルトの名無しさん2009/05/24(日) 21:42:04
フィトン?ってパールより簡単ですか??
0012デフォルトの名無しさん2009/05/25(月) 10:48:47
>>11
個人的にはフィトンのほうが簡単だった
ウェブだったらぺへぺのほうがいいけどね
0013デフォルトの名無しさん2009/05/25(月) 12:15:17
個人的には(゚∀゚)ラヴィ!!のがおすすめだよ
0014デフォルトの名無しさん2009/05/25(月) 12:17:04
sysライブラリの
stdin.readlineなど利用して
標準入力からキーボード入力したいのですが
バックスペースで日本語を消すと、半分(1byte)だけ消されて
文字化けします。

1文字は1文字としてバックスペースで消す方法を教えてください。
0015デフォルトの名無しさん2009/05/25(月) 12:34:26
コンソールなに使ってんの?
0016デフォルトの名無しさん2009/05/25(月) 19:47:41
円コーディングは?
0017デフォルトの名無しさん2009/05/25(月) 23:00:57
class A(Foo):
  def func(self, **kwargs):
    super(Foo, self).func(**kwargs)

class B(Foo):
  def func(self, **kwargs):
    Foo.func(self, **kwargs)

AとBの違いはなんでしょうか??
0018デフォルトの名無しさん2009/05/25(月) 23:55:02
今のやり方と、昔のやり方
0019デフォルトの名無しさん2009/05/26(火) 00:54:33
super()を使うと実行時に依存関係から適切なメソッドが得られる
Foo.func()は明示的な指定

type()で動的にクラスを生成したりするときしか考慮する必要はないと思う
何も考えずにsuper()を使うのが楽
詳しく知りたいならmroでググってみてくれ
0020デフォルトの名無しさん2009/05/26(火) 01:03:58
メソッド付き関数とか作れるんだな
かっこよすぎ
def Counter(n=0):
 Counter.cout = n
 def increment():
  nonlocal c
   c += 1
 Counter.increment = increment
 return Counter

c = Counter(2)
c.increment()
c.increment()
c.increment()
print(c.cout)
0021202009/05/26(火) 01:06:09
Counter.countだ
nonlocal cも
なんかに使えますかねこれ
0022202009/05/26(火) 01:11:34
インスタンスは1つじゃないとちゃんと動かないから無理か
0023デフォルトの名無しさん2009/05/26(火) 01:12:36
関数である意味が無い
素直にクラスにしとけ
0024202009/05/26(火) 01:19:36
ですよね・・・
ところで"\u2020"とかいう表記はusc2ですか?
0025デフォルトの名無しさん2009/05/26(火) 01:40:17
みんなのPythonすごく読みやすい。超面白いんですけど、毎日ガンガン読んでます。
0026デフォルトの名無しさん2009/05/26(火) 03:18:29
class を関数の様に呼び出すのってどんなのでしたっけ

class Hoge(object):
def __init__(a):
print a

h = Hoge()
これはただのコンストラクタなんだろうけど
そうじゃなくて

h = Hoge()
h() が出来る香具師のことなんですが
0027デフォルトの名無しさん2009/05/26(火) 04:02:55
>>> class Hoge(object):
... def __init__(self):
... print "init"
... def __call__(self):
... print "call"
...
>>> h = Hoge()
init
>>> h()
call
0028142009/05/26(火) 14:20:57
>>15
コンソールはlinuxのktermとかxtermとかgnome-terminalとか色々試したけど
どれも同じでした

>>16
エンコーディングはUTF-8です

ぐぐっても解消策が出てこないなぁ
0029デフォルトの名無しさん2009/05/26(火) 16:08:15
エンコーディングは?
0030デフォルトの名無しさん2009/05/26(火) 16:11:36
おい!
0031デフォルトの名無しさん2009/05/26(火) 16:26:20
>>28
環境をもっと詳しく。
Linuxのディストリは何?
Python関係なく普通にシェル上で日本語を入力してバックスペース
押したらちゃんと日本語一文字消える?
0032142009/05/26(火) 16:30:10
>>31
ディストリはarchとubuntuで試しました
pythonに関係なくシェル上だとBSで日本語一文字消せます

ということは、皆さんは普通に消せてるんですね
0033デフォルトの名無しさん2009/05/26(火) 16:39:57
シェルの普通の入力状態じゃなくて、
cat (とか)に何か入力しようとした状態のことを聞いている。
0034デフォルトの名無しさん2009/05/26(火) 16:41:49
以下の例で、print a がposixを返すようにすることは可能ですか?

import os
print os.name
> posix

a = 'os.%s' % name
print a
> os.name
0035デフォルトの名無しさん2009/05/26(火) 16:42:27
あと、ターミナル(xterm とか kterm とか rxvt)が何か、というのが
この場合環境として重要、かも。
0036142009/05/26(火) 16:43:45
>>33
あ、catとかでも同じ状態になります
てことはどこを修正すればいいんですかねこれ
0037デフォルトの名無しさん2009/05/26(火) 16:44:28
>>34
eval('os.name')
0038342009/05/26(火) 16:52:40
>>37
�d
0039デフォルトの名無しさん2009/05/26(火) 19:52:31
>>36
質問する場所
0040142009/05/26(火) 22:18:20
ありがとうございました
もう少し調べてLinux板で質問してきます
0041デフォルトの名無しさん2009/05/28(木) 20:34:35
シンプルなソフトウェアキーボードを
作りたいですがpythonだとwxpythonが
良いですかね?

やはりtkinterからおさえておくべき?
0042デフォルトの名無しさん2009/05/28(木) 20:43:32
すでにあったような
0043412009/05/30(土) 11:33:20
このスレの閑散具合からすると
python自体を止めておいた方が
良いってことか
0044デフォルトの名無しさん2009/05/30(土) 12:18:52
君は何やっても同じ
0045デフォルトの名無しさん2009/05/30(土) 18:05:06
無駄なendを嫌うのと同じように
無駄な話を嫌う傾向にあると思ふ
0046デフォルトの名無しさん2009/05/31(日) 11:02:50
filter(lambda x: x % 3 == 0 or '3' in str(x), range(1, 41))
0047デフォルトの名無しさん2009/05/31(日) 20:21:04
filter(lambda x: x % 8 == 0 or x % 3 == 0 or '3' in str(x), range(1, 41))
0048デフォルトの名無しさん2009/05/31(日) 21:07:22
で、実際python使ってみんなはなにをしているの?
なんかプログラムを作ってるのかな?
0049デフォルトの名無しさん2009/05/31(日) 21:13:59
他に用途ないないと思うが・・・
0050デフォルトの名無しさん2009/05/31(日) 21:22:15
どっちかっていうと日々の作業で使うかな
あと最近はウェブアプリに挑戦
0051デフォルトの名無しさん2009/05/31(日) 21:25:07
変顔の自動化かなぁ
0052デフォルトの名無しさん2009/05/31(日) 22:08:44
あたいは3Dソフトウェアのスクリプトで使ってるよ!
0053デフォルトの名無しさん2009/05/31(日) 23:12:22
>>52
blender?
0054デフォルトの名無しさん2009/05/31(日) 23:35:32
いまいちどんなことができるのかわからないんだけど。
例えば�@ファイヤーウォールが反応したら携帯にメールで知らせるとかは?

�Aひとつのフォルダに複数のmp3のデータが入っている。名前はごちゃごちゃ。
それを01.mp3〜0n.mp3にファイル名を変換することは可能ですか?
0055デフォルトの名無しさん2009/05/31(日) 23:51:00
コンピュータならできて当たり前だろ……
0056デフォルトの名無しさん2009/06/01(月) 00:02:51
>>54
1はどんなファイアウォールを使ってるかによる
ログをテキストで定期的に書き出してくれるFWなら頑張れば出来る
そうでない場合は可能だけどちょっと難しいかな

2は余裕。osやos.path見てみるといいよ
0057デフォルトの名無しさん2009/06/01(月) 00:26:33
>>56
ご丁寧にありがとうございます。
見てみますね。
はじめてのpython みんなのpythonあたりを読破すれば�A位は簡単にできますか?
本屋で立ち読みした時に、複雑な電卓をいじってるようで…
いつになったら�A見たいなことができるのかな?って疑問を持ちましたので。
ド素人ですいません。
0058デフォルトの名無しさん2009/06/01(月) 00:54:52
>>57
初めてのPythonなら読破しなくても1/3ほど読めば十分じゃないかな
あとは使えそうなライブラリを探してマニュアルを読む

必要な時間については人それぞれ。数時間、数日、数週間・・・
まあ半年かかるなんてことはないから心配いらないよ
0059デフォルトの名無しさん2009/06/01(月) 01:01:37
「はじめての」と「初めての」にとても大きな違いがあります
>>57はきっと「はじめての」なんでしょうな・・・
0060デフォルトの名無しさん2009/06/01(月) 01:07:37
皆さん親切に本当にありがとうございます。
個人的にちょっと読んだだけですが「みんなのpython改訂版」が読みやすかったのですが
(ちょっとだけしか見てませんが…)
これでもOKですか?これでも1/3くらい読めば、ショボイプログラムが作れますか?
明日買ってきます。
0061デフォルトの名無しさん2009/06/01(月) 01:14:48
それは初心者向けで突っ込んだ解説はしていない本だからすぐに全部読めるよ
しょぼいプログラムを作るのが目的でネットの検索と併用すれば十分かと
0062デフォルトの名無しさん2009/06/01(月) 01:42:36
>>59
「はじめての」人柱になってもらおうとか思って
似たタイトルの本があるとはあえて言わなかった。反省している

>>60
1/3じゃ足りないかも。でもたいして問題にはならないよ
2を書くとしたら骨組みはこんな感じ

import os

for i, filename in enumerate(os.listdir(u'.')):
if filename.endswith('.mp3')
os.rename(filename, '%03d.mp3' % i)
0063デフォルトの名無しさん2009/06/01(月) 02:38:56
みんなのPythonの改訂版ってPython3.0対応版でしょ
その辺に転がってるコードが多いのはPython2.x系
言語仕様が一部変わってるから気をつけな

新しいものをとるか古いのを選ぶかは趣味の問題ではあるが
標準以外のモジュールは3.0にはまだ対応してなかったりもするから気をつけなよ
まあ、仕様の変更点を把握しとかないといけないのはどちらを学ぶにしても同じだがね
本はちょっとしたプログラムを書きたいってだけなら挫折しないように薄いのにしときなw
あとはオンラインドキュメントとかで適当に調べつつ作りたいもの作ればいいさ
0064デフォルトの名無しさん2009/06/01(月) 03:06:12
>>56
元々
03.mp3
02.mp3
01.mp3
というファイルがあったとき
01.mp3
02.mp3
03.mp3
に名前を付け替えるのって簡単?
0065デフォルトの名無しさん2009/06/01(月) 03:34:23
一体どこが難しいんだ?
0066デフォルトの名無しさん2009/06/01(月) 03:36:00
>>64
条件が良く分からないけど、番号を昇順に変えるの?
何とでも出来ると思うよ。
0067デフォルトの名無しさん2009/06/01(月) 04:03:07
いや、お前達64が何言ってるのか理解してないだろう。
64が言ってるのはファイル名の重複でリネームするのに失敗する問題。
0068デフォルトの名無しさん2009/06/01(月) 04:04:55
一度別の名前にリネームすればいいじゃん。
0069デフォルトの名無しさん2009/06/01(月) 06:48:48
邪魔になってる方のファイルを別の名前にするんですね
0070デフォルトの名無しさん2009/06/01(月) 07:12:58
rename前に既存調べて既存だったら飛ばせば医院で内科医?
0071デフォルトの名無しさん2009/06/01(月) 07:22:31
>>70
それが >>64 >>67 の意図する動作になってるかどうかは微妙

>>54 の2ならそれで良さそう

とりあえず >>64 は仕様を明確にすべき
0072デフォルトの名無しさん2009/06/01(月) 07:59:17
さすがくだすれw
0073デフォルトの名無しさん2009/06/01(月) 08:56:03
つーか、パイソンと全然関係ないしw
一般のアルゴリズムが分からないって、言語以前の問題だからw
0074デフォルトの名無しさん2009/06/01(月) 15:17:18
swapなんぞ誰でも思いつくアルゴリズムだろ
0075デフォルトの名無しさん2009/06/01(月) 15:51:51
えっと、
スレ違いですので
こちらへどうぞ
http://pc12.2ch.net/test/read.cgi/tech/1243159710
0076デフォルトの名無しさん2009/06/01(月) 21:12:23
>>62さん

素晴らしいコードありがとうございます。
勉強中でとても参考になります。完全に理解できていないのが申し訳ありませんが(汗

具体的な例をお願いできますか?
例えば、C:\Documents and Settings\user\デスクトップ\新しいフォルダ
の中に、
abc.mp3
def.mp3
ghi.mp3
jkl.mp3という4つのデータがあります。
これらをソートした順に01.mp3〜04.mp3にリネームする。

宜しくお願い致します。
0077デフォルトの名無しさん2009/06/01(月) 21:36:39
>>76
その前に自分で書いたコードを貼ってみて
動かなくても全然構わないから

いきなり答え見たら実力つかないよ
0078デフォルトの名無しさん2009/06/01(月) 21:47:43
全然そんなレベルじゃないんですよ(汗
すいません。
0079デフォルトの名無しさん2009/06/01(月) 22:16:23
>>76
指定ディレクトリ内のファイル一覧を取得する
os.listdir、glob.glob等

ファイル一覧を並び替え
list.sort()

ファイル名を変更
os.rename

その他
os.path.join、os.path.abspath

このあたりを調べればいけるんじゃない?
とりあえずosとos.pathモジュールは一通りリファレンスに目を通しましょう。
0080デフォルトの名無しさん2009/06/01(月) 22:19:21
>>79さん
本当にご親切にありがとうございます。
今日さっそく「みんpy」買ってきました。
面白いですね。まだプログラムって感じではないんですが…
とても参考になりました。
またわからない事がありましたら宜しくお願い致します。
0081デフォルトの名無しさん2009/06/01(月) 22:36:13
>>62 のコードだと
mp3以外のファイルがあったら番号とばない?
0082デフォルトの名無しさん2009/06/01(月) 22:52:35
>>81
飛ぶね。失礼しました

count = 1
for filename in os.listdir(u'.'):
if filename.endswith('.mp3'):
os.rename(filename, '%03d.mp3' % count)
count += 1
0083デフォルトの名無しさん2009/06/01(月) 22:57:49
>>79さん
ちょっと片言の言語で作ってみましたがrenameでのアイデアが…
なにかヒントをお願いします。

#coding: UTF-8

import os
TargetPath = u'C:\Documents and Settings\user\デスクトップ\Mariah.Carey'
a=FileList = os.listdir(TargetPath)
print u"[曲名一覧]"
for f in a:
print f
else:
print u"以上"
b=len(a)
print u"全部で",b,u"曲"
c=range(1,b+1)
print c,u"までのリストを作成"

ここまででギブ…曲数分の数値をリストで作ってみて対応できればと…その後は…
そもそも間違った考え方なんですかね…ネットで調べながらなのですいません。
0084デフォルトの名無しさん2009/06/01(月) 23:24:31
>>76
#-*- coding: utf-8 -*-
import os, sys, time, shutil
from math import ceil, log
def rename_to_number(srcdir, ext):
    files = filter(lambda x: x[-len(ext):]==ext, os.listdir(srcdir))
    tmpdir = os.path.join(srcdir, 'tmp%s_%s' % (os.getpid(), time.time()))
    while os.path.exists(tmpdir): tmpdir += '0'
    os.mkdir(tmpdir)
    for f in files:
        src = os.path.join(srcdir, f)
        shutil.move(src, tmpdir)
    fmt = '%%0%dd%s' % (ceil(log(len(files),10)), ext)
    for i, f in enumerate(sorted(files)):
        src = os.path.join(tmpdir, f)
        dst = os.path.join(srcdir, fmt % i)
        shutil.copy(src, dst)
    #shutil.rmtree(tmpdir)  # この行を有効にすると作業後テンポラリを削除します。
if __name__ == '__main__':
    srcdir = sys.argv[1]
    ext = sys.argv[2]
    if ext[0] != '.': ext = '.' + ext
    rename_to_number(srcdir, ext)

# 使い方。このスクリプトを hoge.py と保存(UTF-8)した場合。
# python hoge.py ターゲットディレクトリ 対象拡張子
# と入力
0085デフォルトの名無しさん2009/06/01(月) 23:35:15
>>84さん
すごい。。。
レベルが違いすぎました。
出直してきます。
恥ずかしいですわ
0086842009/06/01(月) 23:55:00
要求にあってなかったところを訂正。

ファイル名の先頭が 0 になるようにする。(12行目)
×    fmt = '%%0%dd%s' % (ceil(log(len(files),10)), ext)
○    fmt = '%%0%dd%s' % (1+ceil(log(len(files),10)), ext)

番号を 0からスタートじゃなく、1からにする。(15行目)
×        dst = os.path.join(srcdir, fmt % i)
○        dst = os.path.join(srcdir, fmt % (i+1))
0087デフォルトの名無しさん2009/06/02(火) 00:01:08
ディレクトリの指定は必要ないんですか?
0088デフォルトの名無しさん2009/06/02(火) 00:19:05
けーすばいけーす
0089デフォルトの名無しさん2009/06/02(火) 17:09:47
お勉強スレのほうに書いたのですが、ちょっと質問のレベルが低すぎたみたいなので、こちらで聞かせていただきます;;

初歩的な質問で申し訳ありません。
.pyのついたファイルをウィンドウズで実行したいのですが、どのように設定をしたらいいでしょうか?

python-3.0.1をインストールしてみたのですが、どうしたらいいのかイマイチよくわかりません;;
0090デフォルトの名無しさん2009/06/02(火) 17:16:18
Python2.6.2をインストールして*.pyをダブルクリックしてみるよろし
0091デフォルトの名無しさん2009/06/02(火) 17:32:05
>>89
Python 3.0 はプログラミングの初学者には今のところ向いてないよ
>>90 の言う通りにしてコマンドプロンプトの使い方も併せて調べておくといいと思う
0092デフォルトの名無しさん2009/06/02(火) 18:13:35
ありがとうございます!
2.6.2ですね。
試してみます。
0093デフォルトの名無しさん2009/06/02(火) 23:50:54
>>84
素敵だが初心者にやさしくないなぁ
無駄に丁寧だから本質じゃない部分につい目がいってしまう
0094デフォルトの名無しさん2009/06/03(水) 01:05:17
>>93
本当にそうだな。
ただ、あそこまでやるなら、テンポラリディレクトリ作るのに何故
tempfile.mkdtemp()を使わないのかが非常に謎。
0095デフォルトの名無しさん2009/06/03(水) 07:09:58
            /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
0096デフォルトの名無しさん2009/06/03(水) 18:04:51
windows xp sp3
python2.5.3

try:
  getattr(obj, 'undefined_method')
except AttributeError:
  pass

だいぶ省略していますが、こんな感じのコードがあり、ここでmain内でエラーが発生すると
UnboundLocalError: local variable 'AttributeError' referenced before assignment

と出てしまいます
AttributeErrorが見つからない理由と、そもそもUnboundLocalErrorがなんなのかよく理解出来ていないのですが、
原因をご存知の方いますでしょうか?
0097962009/06/03(水) 18:24:44
ごめんなさい解決しました
その前に書いてあった
except ImportError, AttributeError:
の括弧忘れでした。
0098デフォルトの名無しさん2009/06/03(水) 18:27:33
UnboundLocalError: ローカル変数名のリストにはあるけどまだ宣言されてないよ
NameError: とにかくそんな名前知らんよ
0099デフォルトの名無しさん2009/06/03(水) 19:14:50
>>97
エラーが出なくなっただけで
解決はしていないと思うよw
0100デフォルトの名無しさん2009/06/03(水) 19:19:47
学生時代に資格試験取得でcは勉強したのですが、
社会人になってからは言語は一切触れてません。

インフラ側の人間だったのですが、
言語もかじっておきたくpythonをと考えています。

web上の入門サイトをいくつかやってる最中ですが、
いまいち手応えがありません。

そこで、勉強になるような課題?に適したものってなにかありますでしょうか。
また、Django、Ploneも気になっているのですが、
そうした勉強というのは市販されているテキストを一通りできれば
掴めるものでしょうか。

*正直、業務でも活かせることができるまでを
 意識した勉強の仕方がわからないのが困っています、、、
0101デフォルトの名無しさん2009/06/03(水) 19:48:45
>>100
まず要点をまとめてわかりやすく説明することを勉強しるw
■ このスレッドは過去ログ倉庫に格納されています