1 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 06:27:36 ] 【Pythonスレッド基本ルール】 1:問題文は自己省略せずに、直接全部貼り付けてください。 2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。 3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。 4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。 5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。 【課題提示用テンプレ】 【 課題 】与えられた課題文をそのまま書きます 《必須》 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》 【 期限 】提出期限、解答希望日があれば書きます 【 Ver 】希望するPythonバージョンがあれば書きます(必要があればOSも) 【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。 丸投げでない場合は、途中までのソースとその経過報告、 質問点、疑問点を書きます(なるべく丸投げにしてください) 【回答プログラムの掲載場所】 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi 前スレ pc12.2ch.net/test/read.cgi/tech/1153585095/
78 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:52:08 ] a[1][:]=[2]
79 名前:>70 mailto:sage [2009/12/29(火) 00:02:10 ] すみません。 >>70 お願いします。 補正したものは以下です。 ########################################################3 Windows XP上で、 まず 同じディレクトリにあるsetting.iniを読み込んで その1行目, 2行目, 3行目を 文字列p, regex, aftに格納する。 pをパスとして調べ、 1.実在するディレクトリだったらそのディレクトリの名前とサブディレクトリの名前と、 それらの中にあるファイルの名前、およびファイルの中身に以下の置換作業を実行する。 > 前からみて順に正規表現regexにマッチする文字列を全てaftに置換する。 2.実在しないディレクトリでなかったらエラーメッセージを標準出力に出力する。 こんなPythonスクリプトをどなたか書いて下さいませんか? よろしくお願い申し上げます。
80 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 00:18:18 ] 最近はそんな宿題が出るのか
81 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 08:21:32 ] どの言語でもいいからこんなのを作りなさい という感じの一般教養+αな宿題です。
82 名前:デフォルトの名無しさん [2010/01/01(金) 08:57:27 ] あけましておめでとうございます。 すみませんどなたか >>79 お願いできませんか? ファイル名はともかく全てのファイルの中身を置換するというところがいまひと つできなさそうです。 文系なのですが何を間違ったかこんな難しそうな科目を…。
83 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 14:36:18 ] #!/usr/bin/python import sys, os, re with open("setting.ini") as f: path = f.readline().rstrip("\r\n") regex = f.readline().rstrip("\r\n") repl = f.readline().rstrip("\r\n") if os.path.isdir(path): for dirpath, dirnames, filenames in os.walk(path): for name in filenames: path = os.path.join(dirpath, name) contents = open(path).read() if re.search(regex, contents): open(path, "w").write(re.sub(regex, repl, contents)) else: sys.stderr.write("Error\n")
84 名前:82 mailto:sage [2010/01/01(金) 20:32:10 ] >>83 ありがとうございます。 とても助かりました。 新年早々お手数をおかけいたしました。
85 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 21:12:41 ] 【課題】 同じ長さのリストA,Bがある。Aはソート対象のデータ、Bは比較用の値が入っている。 A,Bの2つの引数をとり、Bの値が昇順になるようにAをソートする関数を定義しなさい。 引数のリストは破壊しても良く、ソート結果は戻り値・引数Aを上書きのどちらでも良い。 処理の早いものには追加点を与える。 【期限】 1月18日(月) 午後1時 【Ver】 Python 2.6 よろしくおねがいします。
86 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 22:43:37 ] A, B の初期値と結果の具体例が欲しい。 A, B が同じ長さのリストと言ってるが、 共通してない要素はソートの結果のどこに入るんだ?
87 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 01:08:35 ] >>86 問題よくよめ
88 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 01:20:42 ] mysort = lambda A, B: [t[1] for t in sorted(zip(B, A))]
89 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 13:14:38 ] >>85 比較用の値ってなんですか? あれ、時間切れかな。
90 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 17:06:43 ] >>89 > 比較用の値ってなんですか? 例えば、[3, -4, 10, -1]を 絶対値の大きさ順に並べるとすると 比較用の値は[3, 4, 10, 1]になる。 具体的には、 >>> A = [3, -4, 10, -1] >>> B = map(abs, A) >>> B [3, 4, 10, 1] >>> mysort(A, B) [-1, 3, -4, 10] >>> sorted(A, key=abs) [-1, 3, -4, 10] これで理解できなければ アルゴリズムの教科書をソートキーで引いてくれ。
91 名前:85 mailto:sage [2010/01/18(月) 22:42:26 ] >>88 さんの方法でできました。 たった1行で出来ちゃうんですね。十数行も書いたあげく動かなかった俺って… ありがとうございました。
92 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 00:28:55 ] ●カップラーメンのタイマーを作成● ・tkinterをしようしてGUIで操作できるようにする。 ・3分、5分、…といくつか選択できるようにする。 スマートなコードを宜しくお願い致します。
93 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 00:43:10 ] 概出 答えは過去ログでどうぞ
94 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 01:46:02 ] #!/usr/bin/python import Tkinter as Tk import time from functools import partial class NoodleTimer(Tk.Frame): def __init__(self, master=None): Tk.Frame.__init__(self, master) self.label = Tk.Label(self, text='Timer', font='Arial 20') self.label.pack(side='left') menubutton = Tk.Menubutton(self, text='>') menubutton.pack() menu = Tk.Menu(menubutton, tearoff=0) menu.add_command(label='1 minutes', command=partial(self.start, 60)) menu.add_command(label='3 minutes', command=partial(self.start, 180)) menu.add_command(label='5 minutes', command=partial(self.start, 300)) menubutton.config(menu=menu) def start(self, sec): self.finish_time = time.time() + sec self.tick() def tick(self): t = self.finish_time - time.time() if t < 0: self.label.config(text="Time's up!") else: self.label.config(text='%02d:%02d'%(t/60, t%60)) self.after(100, self.tick) if __name__ == '__main__': app = NoodleTimer() app.pack() app.mainloop()
95 名前:デフォルトの名無しさん [2010/01/27(水) 02:51:47 ] >>94 すごい! ありがとうございます。 参考にして勉強させて頂きます。 ちなみにVBも平行して学習しているんですが(意外といい) 出てくる用語はほぼ同じと考えてもいいですか? クラスとか、継承とか、オブジェクトとか
96 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:00:07 ] VBに継承でてくんの?
97 名前:デフォルトの名無しさん [2010/01/27(水) 04:10:40 ] 参考書には書いてあるんですよ
98 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 21:55:33 ] VBの継承ってどんなのか解らんが クラスやオブジェクトについてはだいたい一緒じゃね 個人的にVBは戻り値の設定と関数からの脱出が別れてるとこが面白いな
99 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 00:11:24 ] 面倒なだけで面白くもなんともない さらに戻り値設定し忘れとか起こすしろくなことにならない 言語仕様として糞
100 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 00:28:46 ] >>99 > 言語仕様として糞 というか言語自体として糞
101 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 00:42:08 ] VBの継承ってどんなの?
102 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 00:43:15 ] >>100 VB は Linux で動かないもんなぁ
103 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 13:48:02 ] >>102 Linux で動かないの? なんつうクソ言語
104 名前:ゆかちん [2010/02/13(土) 22:59:26 ] お疲れ様です! こんなのやってるんですがヘルプお願いします。 配列作って文字列を入れればいいんでしょうか? よろしくお願いします。 以下の5行の文字列のいずれかをランダムに返すプログラムを書きなさい あいうえお かきくけこ さしすせそ たちつてと なにぬねの
105 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 23:06:52 ] import random random.randint(0, 4) # 0 から 4 をランダムで返す 考え方はそれであってるからあとはがんばって
106 名前:ゆかちん [2010/02/13(土) 23:20:56 ] 配列の作り方をお願いします 乱数のところはわかりました。ありがとうございます! スキージャンプまでになんとかせねば
107 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 23:43:33 ] 配列ってより、リストかタプルな。てか、choice使うと楽。 import random random.choice(["あいうえお", "かきくけこ", "以下略"])
108 名前:デフォルトの名無しさん [2010/02/14(日) 00:11:45 ] うーむそれだとスケールできないだろ 5行ならいいが1000行でやろうとするとその方法だと無理
109 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 01:03:38 ] ファイルか標準入力から読み込ませたいな
110 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 02:51:13 ] >>108 いかにも使い捨てっぽいプログラムに高望みしないの。 エディタに正規表現置換ついてるでしょ。 >>109 with open("hoge.txt") as f: lines = [line for line in f] print random.choice(lines)
111 名前:デフォルトの名無しさん [2010/02/14(日) 13:43:29 ] タプルって何?
112 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 13:59:28 ] immutable(変更不能)なシーケンス dictのキーにできる わからなければリストを使ってれば良い
113 名前:ゆかちん [2010/02/14(日) 15:30:01 ] あん、できた。ありがとうございますん!
114 名前:デフォルトの名無しさん [2010/02/14(日) 15:33:23 ] print 'aaa' if boolean : 〜ここ〜 print 'bbb' print 'ccc' 上のソースにて、〜ここ〜の部分に何か入れて、 このプログラムを終了してしまいたいのですが、 どうすればいいでしょうか? booleanがTrueの時にプログラムを終了したいということです。 よろしくお願い申し上げます。
115 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 15:35:28 ] ちょっとスレチな気がするんで、別すれに行ってきます すみません。
116 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 16:13:40 ] print 'aaa' if boolean : raise Exception print 'bbb' print 'ccc'
117 名前:114 mailto:sage [2010/02/14(日) 16:39:47 ] >>116 ありがとうございます。
118 名前:デフォルトの名無しさん [2010/02/14(日) 18:37:05 ] おっぱいうp
119 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:28:30 ] >>114 環境によって適切な終了方法が違う気がするけど import sys sys.exit() が使いやすいと思う。
120 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 07:02:06 ] raise SystemExit で良いらしい (import sys したくないとき)
121 名前:デフォルトの名無しさん [2010/02/21(日) 11:05:30 ] 教える人は自分が偉くなったと勘違いをしているのか…
122 名前:デフォルトの名無しさん [2010/02/21(日) 18:55:28 ] は?教えてやるんだから偉いんだお
123 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:50:04 ] www.python.jp/doc/release/tut/tut.html
124 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 14:58:29 ] 少なくとも匿名掲示板で教えられる方が偉いなんてことはあり得ないな
125 名前:デフォルトの名無しさん [2010/02/27(土) 00:46:13 ] import sys って具体的にどういうときに使うんですか?
126 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 00:52:06 ] sysをimportしたい時
127 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 14:21:25 ] sys.なんたら が必要なとき。