【Pythonスレッド基本ルール】
1:問題文は自己省略せずに、直接全部貼り付けてください。
2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。
【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、解答希望日があれば書きます
【 Ver 】希望するPythonバージョンがあれば書きます(必要があればOSも)
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
丸投げでない場合は、途中までのソースとその経過報告、
質問点、疑問点を書きます(なるべく丸投げにしてください)
【回答プログラムの掲載場所】
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi
前スレ
http://pc12.2ch.net/test/read.cgi/tech/1153585095/
探検
Python の宿題ここで答えます Part 2
■ このスレッドは過去ログ倉庫に格納されています
2009/11/16(月) 06:27:36
100デフォルトの名無しさん
2010/01/30(土) 00:28:46101デフォルトの名無しさん
2010/01/30(土) 00:42:08 VBの継承ってどんなの?
102デフォルトの名無しさん
2010/01/30(土) 00:43:15 >>100
VB は Linux で動かないもんなぁ
VB は Linux で動かないもんなぁ
103デフォルトの名無しさん
2010/01/30(土) 13:48:02104ゆかちん
2010/02/13(土) 22:59:26 お疲れ様です!
こんなのやってるんですがヘルプお願いします。
配列作って文字列を入れればいいんでしょうか?
よろしくお願いします。
以下の5行の文字列のいずれかをランダムに返すプログラムを書きなさい
あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの
こんなのやってるんですがヘルプお願いします。
配列作って文字列を入れればいいんでしょうか?
よろしくお願いします。
以下の5行の文字列のいずれかをランダムに返すプログラムを書きなさい
あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの
105デフォルトの名無しさん
2010/02/13(土) 23:06:52 import random
random.randint(0, 4) # 0 から 4 をランダムで返す
考え方はそれであってるからあとはがんばって
random.randint(0, 4) # 0 から 4 をランダムで返す
考え方はそれであってるからあとはがんばって
106ゆかちん
2010/02/13(土) 23:20:56 配列の作り方をお願いします
乱数のところはわかりました。ありがとうございます!
スキージャンプまでになんとかせねば
乱数のところはわかりました。ありがとうございます!
スキージャンプまでになんとかせねば
107デフォルトの名無しさん
2010/02/13(土) 23:43:33 配列ってより、リストかタプルな。てか、choice使うと楽。
import random
random.choice(["あいうえお", "かきくけこ", "以下略"])
import random
random.choice(["あいうえお", "かきくけこ", "以下略"])
108デフォルトの名無しさん
2010/02/14(日) 00:11:45 うーむそれだとスケールできないだろ
5行ならいいが1000行でやろうとするとその方法だと無理
5行ならいいが1000行でやろうとするとその方法だと無理
109デフォルトの名無しさん
2010/02/14(日) 01:03:38 ファイルか標準入力から読み込ませたいな
110デフォルトの名無しさん
2010/02/14(日) 02:51:13111デフォルトの名無しさん
2010/02/14(日) 13:43:29 タプルって何?
112デフォルトの名無しさん
2010/02/14(日) 13:59:28 immutable(変更不能)なシーケンス
dictのキーにできる
わからなければリストを使ってれば良い
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の時にプログラムを終了したいということです。
よろしくお願い申し上げます。
if boolean :
〜ここ〜
print 'bbb'
print 'ccc'
上のソースにて、〜ここ〜の部分に何か入れて、
このプログラムを終了してしまいたいのですが、
どうすればいいでしょうか?
booleanがTrueの時にプログラムを終了したいということです。
よろしくお願い申し上げます。
115デフォルトの名無しさん
2010/02/14(日) 15:35:28 ちょっとスレチな気がするんで、別すれに行ってきます
すみません。
すみません。
116デフォルトの名無しさん
2010/02/14(日) 16:13:40 print 'aaa'
if boolean :
raise Exception
print 'bbb'
print 'ccc'
if boolean :
raise Exception
print 'bbb'
print 'ccc'
118デフォルトの名無しさん
2010/02/14(日) 18:37:05 おっぱいうp
119デフォルトの名無しさん
2010/02/14(日) 23:28:30120デフォルトの名無しさん
2010/02/15(月) 07:02:06 raise SystemExit
で良いらしい (import sys したくないとき)
で良いらしい (import sys したくないとき)
121デフォルトの名無しさん
2010/02/21(日) 11:05:30 教える人は自分が偉くなったと勘違いをしているのか…
122デフォルトの名無しさん
2010/02/21(日) 18:55:28 は?教えてやるんだから偉いんだお
123デフォルトの名無しさん
2010/02/24(水) 23:50:04124デフォルトの名無しさん
2010/02/26(金) 14:58:29 少なくとも匿名掲示板で教えられる方が偉いなんてことはあり得ないな
125デフォルトの名無しさん
2010/02/27(土) 00:46:13 import sys って具体的にどういうときに使うんですか?
126デフォルトの名無しさん
2010/02/27(土) 00:52:06 sysをimportしたい時
127デフォルトの名無しさん
2010/02/27(土) 14:21:25 sys.なんたら が必要なとき。
128デフォルトの名無しさん
2010/02/28(日) 22:05:14 sys.exit()
129デフォルトの名無しさん
2010/03/01(月) 00:47:56 sys.stdout.write("ggrks")
130デフォルトの名無しさん
2010/03/01(月) 00:57:33 raise で終わらせるなんてかこわるい!
と思って、 sys.exit() って raise SystemExit なのね。
でもきもちわるい。
ttp://docs.python.org/lib/module-sys.html
と思って、 sys.exit() って raise SystemExit なのね。
でもきもちわるい。
ttp://docs.python.org/lib/module-sys.html
131デフォルトの名無しさん
2010/03/01(月) 08:30:43 >>130
os._exit(status) もあるよ。
例外を使うのは、 sys.exit() を実行したところからまき戻って
try-finally節で用意されたファイルの削除処理などを実行するため。
それでも気持ち悪い?
os._exit(status) もあるよ。
例外を使うのは、 sys.exit() を実行したところからまき戻って
try-finally節で用意されたファイルの削除処理などを実行するため。
それでも気持ち悪い?
132デフォルトの名無しさん
2010/03/07(日) 21:05:47 ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
133デフォルトの名無しさん
2010/03/20(土) 09:55:10 【 課題 】Basic Python Exercisesのstring1.pyを解く
http://code.google.com/intl/ja/edu/languages/google-python-class/exercises/basic.html
【 Ver 】2.6ぐらい
【 補足 】手順は次のとおり
1. http://code.google.com/edu/languages/google-python-class/google-python-exercises.zip をダウンロード
2. 解凍してbasic/string1.pyを開く
3. 各関数を完成させたらpython string1.pyで実行、main()に記述してあるテストに通ればOK
一個だけはずかしながら
# A. donuts
# Given an int count of a number of donuts, return a string
# of the form 'Number of donuts: <count>', where <count> is the number
# passed in. However, if the count is 10 or more, then use the word 'many'
# instead of the actual count.
# So donuts(5) returns 'Number of donuts: 5'
# and donuts(23) returns 'Number of donuts: many'
def donuts(count):
# +++your code here+++
if count >= 10:
s = 'many'
else:
s = str(count)
return 'Number of donuts: %s' % s
http://code.google.com/intl/ja/edu/languages/google-python-class/exercises/basic.html
【 Ver 】2.6ぐらい
【 補足 】手順は次のとおり
1. http://code.google.com/edu/languages/google-python-class/google-python-exercises.zip をダウンロード
2. 解凍してbasic/string1.pyを開く
3. 各関数を完成させたらpython string1.pyで実行、main()に記述してあるテストに通ればOK
一個だけはずかしながら
# A. donuts
# Given an int count of a number of donuts, return a string
# of the form 'Number of donuts: <count>', where <count> is the number
# passed in. However, if the count is 10 or more, then use the word 'many'
# instead of the actual count.
# So donuts(5) returns 'Number of donuts: 5'
# and donuts(23) returns 'Number of donuts: many'
def donuts(count):
# +++your code here+++
if count >= 10:
s = 'many'
else:
s = str(count)
return 'Number of donuts: %s' % s
134デフォルトの名無しさん
2010/03/20(土) 10:13:34 ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
135デフォルトの名無しさん
2010/04/14(水) 22:03:39 ヘ⌒ヽフ
( ・ω・) dd
/ ~つと)
( ・ω・) dd
/ ~つと)
136デフォルトの名無しさん
2010/05/28(金) 09:41:57 ほし
137デフォルトの名無しさん
2010/06/20(日) 15:32:10 ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
138デフォルトの名無しさん
2010/06/30(水) 15:38:33 [1] 授業単元:ファイル操作、2分探索法
[2] 問題文:学生の身長、体重のデータを読み込みある学籍番号を入力した
ときにその学生の学籍番号、身長、体重を2分探索法により求め、出力しなさい。
学生のデータは、txtファイルでxx yyy zzという風に記載されています。
(例)出力結果
学生番号:xx
身長:yyy (cm)
体重:zz (kg)
[3] 環境
[3.1] OS:Windows7
[3.2] バージョン: Python3
[3.3] 言語: Python
[4] 期限: 7月1日夕方まで
[5] その他の制限: 多少不恰好でも、分かりやすいプログラムがいいです、、。
よろしくお願いします。
[2] 問題文:学生の身長、体重のデータを読み込みある学籍番号を入力した
ときにその学生の学籍番号、身長、体重を2分探索法により求め、出力しなさい。
学生のデータは、txtファイルでxx yyy zzという風に記載されています。
(例)出力結果
学生番号:xx
身長:yyy (cm)
体重:zz (kg)
[3] 環境
[3.1] OS:Windows7
[3.2] バージョン: Python3
[3.3] 言語: Python
[4] 期限: 7月1日夕方まで
[5] その他の制限: 多少不恰好でも、分かりやすいプログラムがいいです、、。
よろしくお願いします。
139デフォルトの名無しさん
2010/06/30(水) 19:14:43 【質問テンプレ】
[1] 授業単元:プログラミング
[2] 問題文:
二分法による平方根の計算。但し、求めたい平方根(自
然数)を入力できるようにした上で、プログラムの実行時
の計算回数を計算・表示できるように、プログラムを作成
すること。
[3] 環境
[3.1] OS: ChromeOS
[3.2] バージョン: Python3
[3.3] 言語: Python
[4] 期限:7月3日まで
[5] その他の制限:特になし
よろしくお願いします。
[1] 授業単元:プログラミング
[2] 問題文:
二分法による平方根の計算。但し、求めたい平方根(自
然数)を入力できるようにした上で、プログラムの実行時
の計算回数を計算・表示できるように、プログラムを作成
すること。
[3] 環境
[3.1] OS: ChromeOS
[3.2] バージョン: Python3
[3.3] 言語: Python
[4] 期限:7月3日まで
[5] その他の制限:特になし
よろしくお願いします。
140デフォルトの名無しさん
2010/07/01(木) 21:48:36 すいません便乗して
[1] 授業単元:2分探索法
[2] 問題文: http://uploader.sakura.ne.jp/src/up10962.jpg
[3] 環境
[3.1] OS: MacOSX
[3.2] バージョン:Python3
[3.3] 言語: Python
[4] 7月2日の3時まで
[5] 特になし
リンク先に問題文をおきました。
問題が2つあるので、b1.rb b2.rb というふうにしてください。
よろしくお願いします。
[1] 授業単元:2分探索法
[2] 問題文: http://uploader.sakura.ne.jp/src/up10962.jpg
[3] 環境
[3.1] OS: MacOSX
[3.2] バージョン:Python3
[3.3] 言語: Python
[4] 7月2日の3時まで
[5] 特になし
リンク先に問題文をおきました。
問題が2つあるので、b1.rb b2.rb というふうにしてください。
よろしくお願いします。
141デフォルトの名無しさん
2010/07/04(日) 12:24:50 > 問題が2つあるので、b1.rb b2.rb というふうにしてください。
> 問題が2つあるので、b1.rb b2.rb というふうにしてください。
> 問題が2つあるので、b1.rb b2.rb というふうにしてください。
> 問題が2つあるので、b1.rb b2.rb というふうにしてください。
> 問題が2つあるので、b1.rb b2.rb というふうにしてください。
142デフォルトの名無しさん
2010/07/04(日) 12:43:25 それがどうかしましたか
143デフォルトの名無しさん
2010/07/04(日) 14:09:43 rubyのスレじゃねぇぞw
144デフォルトの名無しさん
2010/07/04(日) 21:37:00 すいません訂正
[1] 授業単元:2分探索法
[2] 問題文: http://uploader.sakura.ne.jp/src/up10962.jpg
[3] 環境
[3.1] OS: MacOSX
[3.2] バージョン:Python3
[3.3] 言語: Python
[4] 7月7日の7時まで
[5] 特になし
リンク先に問題文をおきました。
問題が2つあるので、b1.py b2.py というふうにしてください。
よろしくお願いします。
[1] 授業単元:2分探索法
[2] 問題文: http://uploader.sakura.ne.jp/src/up10962.jpg
[3] 環境
[3.1] OS: MacOSX
[3.2] バージョン:Python3
[3.3] 言語: Python
[4] 7月7日の7時まで
[5] 特になし
リンク先に問題文をおきました。
問題が2つあるので、b1.py b2.py というふうにしてください。
よろしくお願いします。
145デフォルトの名無しさん
2010/07/05(月) 21:03:29 それがどうかしましたか
146デフォルトの名無しさん
2010/07/08(木) 20:20:34 【 課題 】USBカメラからリアルタイムで動画を取り込み、パーティクルフィルタにより物体を検出するプログラムを書け。
重み付けはRGB値を用いて行い、検出するRGB値の範囲は自由とする。
【 用語 】パーティクルフィルタとは
ttp://www23.atwiki.jp/yahirohumpty/pages/8.html
【 期限 】7/12まで
【 Ver 】Windows XP、Python2.6.5
【 補足 】OpenCVなどライブラリは使用せずにお願いします
重み付けはRGB値を用いて行い、検出するRGB値の範囲は自由とする。
【 用語 】パーティクルフィルタとは
ttp://www23.atwiki.jp/yahirohumpty/pages/8.html
【 期限 】7/12まで
【 Ver 】Windows XP、Python2.6.5
【 補足 】OpenCVなどライブラリは使用せずにお願いします
147デフォルトの名無しさん
2010/07/09(金) 00:01:01 DirectShow は OK ?
148146
2010/07/09(金) 09:09:53 可能ならば使わずにお願いします
わがままを言って申し訳ありません
わがままを言って申し訳ありません
149デフォルトの名無しさん
2010/07/09(金) 09:45:20150146
2010/07/15(木) 12:40:53 146の課題ですが、パーティクルフィルタが実装されているもの(OpenCV等)以外ならば
ライブラリを使用しても良いと言われました
どなたかよろしくお願いします
ライブラリを使用しても良いと言われました
どなたかよろしくお願いします
151デフォルトの名無しさん
2010/11/01(月) 14:43:42 http://twitter.com/yukihiro_matz/statuses/29317109670
yukihiro_matz: 英語圏でRubyとPythonを比較する記事を見ることが少なくなってきた
のは、RubyとPythonでクラスタが分離してきたからか。逆に日本語でRubyとPythonを
比較 する記事を見かけるのは国内でのPythonの地位が向上したからか。
∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高にアホだお
\ ` ー'´ //
/ __ /
(___) /
yukihiro_matz: 英語圏でRubyとPythonを比較する記事を見ることが少なくなってきた
のは、RubyとPythonでクラスタが分離してきたからか。逆に日本語でRubyとPythonを
比較 する記事を見かけるのは国内でのPythonの地位が向上したからか。
∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高にアホだお
\ ` ー'´ //
/ __ /
(___) /
152デフォルトの名無しさん
2010/11/01(月) 15:08:14∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高にアホだお
\ ` ー'´ //
/ __ /
(___) /
153デフォルトの名無しさん
2010/11/03(水) 00:27:32 >>152
∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <このコピペってはやってんの?
\ ` ー'´ //
/ __ /
(___) /
∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <このコピペってはやってんの?
\ ` ー'´ //
/ __ /
(___) /
154デフォルトの名無しさん
2010/11/03(水) 00:35:30 pass
155デフォルトの名無しさん
2010/11/10(水) 00:23:11 本番コードに pass 残すなよ!
156デフォルトの名無しさん
2010/11/10(水) 08:16:36 えっ?
157デフォルトの名無しさん
2010/11/24(水) 01:28:15 【 課題 】
あるディレクトリに存在するすべてのファイルについて
各ファイルの先頭一文字をディレクトリ名としてサブディレクトリを作成し
そのサブディレクトリへそのファイルを移動する
(既にサブディレクトリが存在する場合はファイルの移動のみ)
という操作を行うpythonで記述実行し動作を確認しなさい
【 期限 】11月25日13:00まで
【 Ver 】2.5以上 2.6以下
【 補足 】済みません丸投げします
あるディレクトリに存在するすべてのファイルについて
各ファイルの先頭一文字をディレクトリ名としてサブディレクトリを作成し
そのサブディレクトリへそのファイルを移動する
(既にサブディレクトリが存在する場合はファイルの移動のみ)
という操作を行うpythonで記述実行し動作を確認しなさい
【 期限 】11月25日13:00まで
【 Ver 】2.5以上 2.6以下
【 補足 】済みません丸投げします
158デフォルトの名無しさん
2010/11/24(水) 02:09:05 動作確認はしてない。
日本語含まれてるとかファイル名が1文字のファイルとか.から始まるファイルとかは知らない。
import os
import os.path
import shutils
ARU_DIRECTORY = '/home/aru_user/target'
def make_subdir(dir):
files = os.listdir(dir)
subdirs = list(set([f[0] for f in files]))
for d in subdirs:
os.mkdir(os.path.join(dir, d))
for f in (f for f in files if f[0] == d):
shutils.move(os.path.join(dir, f), os.path.join(dir, d, f))
make_subdir(ARU_DIRECTORY)
日本語含まれてるとかファイル名が1文字のファイルとか.から始まるファイルとかは知らない。
import os
import os.path
import shutils
ARU_DIRECTORY = '/home/aru_user/target'
def make_subdir(dir):
files = os.listdir(dir)
subdirs = list(set([f[0] for f in files]))
for d in subdirs:
os.mkdir(os.path.join(dir, d))
for f in (f for f in files if f[0] == d):
shutils.move(os.path.join(dir, f), os.path.join(dir, d, f))
make_subdir(ARU_DIRECTORY)
159デフォルトの名無しさん
2010/11/24(水) 02:09:50 ごめん、インデントとんでしもた
import os
import os.path
import shutils
ARU_DIRECTORY = '/home/aru_user/target'
def make_subdir(dir):
files = os.listdir(dir)
subdirs = list(set([f[0] for f in files]))
for d in subdirs:
os.mkdir(os.path.join(dir, d))
for f in (f for f in files if f[0] == d):
shutils.move(os.path.join(dir, f), os.path.join(dir, d, f))
make_subdir(ARU_DIRECTORY)
import os
import os.path
import shutils
ARU_DIRECTORY = '/home/aru_user/target'
def make_subdir(dir):
files = os.listdir(dir)
subdirs = list(set([f[0] for f in files]))
for d in subdirs:
os.mkdir(os.path.join(dir, d))
for f in (f for f in files if f[0] == d):
shutils.move(os.path.join(dir, f), os.path.join(dir, d, f))
make_subdir(ARU_DIRECTORY)
160デフォルトの名無しさん
2010/11/24(水) 03:14:28 微妙に引っかかるポイントがあるね
ディレクトリにファイルだけじゃなくてサブディレクトリが存在していた場合
その先頭文字でサブディレクトリを作って移動してしまうかもしれない
さらに >>158 さんが指摘しているように
既に一文字の「ファイル」があった場合 mkdir に失敗してファイルに上書きしてしまうかもしれないし
一文字の「サブディレクトリ」があった場合に同じ名前で mkdir してしまうかもしれない
ディレクトリにファイルだけじゃなくてサブディレクトリが存在していた場合
その先頭文字でサブディレクトリを作って移動してしまうかもしれない
さらに >>158 さんが指摘しているように
既に一文字の「ファイル」があった場合 mkdir に失敗してファイルに上書きしてしまうかもしれないし
一文字の「サブディレクトリ」があった場合に同じ名前で mkdir してしまうかもしれない
161デフォルトの名無しさん
2010/11/24(水) 04:02:11 大文字小文字は区別すんのかな?
162デフォルトの名無しさん
2010/11/24(水) 06:22:42 大文字小文字を区別しない変態環境なんて・・・
163デフォルトの名無しさん
2010/11/24(水) 07:15:27 >>158-159
mkdir()の前にexists()チェックした方が良いと思うけどどう?
mkdir()の前にexists()チェックした方が良いと思うけどどう?
164デフォルトの名無しさん
2010/11/24(水) 11:51:09 >>163
たしかに。
たしかに。
165157
2010/11/24(水) 16:20:15 みなさんありがとうございました
あとは自分でなんとかしてみます
あとは自分でなんとかしてみます
166デフォルトの名無しさん
2010/11/24(水) 16:31:20 一文字のファイルがあった場合が面倒だな
167デフォルトの名無しさん
2010/11/24(水) 23:32:42 テンポラリなディレクトリ作って、取りあえずそこに突っ込んでからリネームすればいいんでないの
168デフォルトの名無しさん
2010/11/24(水) 23:38:11 import os
import shutil
import sys
import tempfile
def move_subdir(path):
base = path.decode(sys.getfilesystemencoding())
files = [f for f in os.listdir(base) if os.path.isfile(os.path.join(base, f))]
for f in files:
sub = os.path.join(base, f.lstrip(u'.')[0])
if os.path.isfile(sub):
with tempfile.NamedTemporaryFile(dir=base, delete=False) as tf:
shutil.move(sub, tf.name)
os.mkdir(sub)
shutil.move(tf.name, sub)
os.rename(os.path.join(sub, os.path.basename(tf.name)), os.path.join(sub, f))
else:
os.path.isdir(sub) or os.mkdir(sub)
shutil.move(os.path.join(base, f), sub)
import shutil
import sys
import tempfile
def move_subdir(path):
base = path.decode(sys.getfilesystemencoding())
files = [f for f in os.listdir(base) if os.path.isfile(os.path.join(base, f))]
for f in files:
sub = os.path.join(base, f.lstrip(u'.')[0])
if os.path.isfile(sub):
with tempfile.NamedTemporaryFile(dir=base, delete=False) as tf:
shutil.move(sub, tf.name)
os.mkdir(sub)
shutil.move(tf.name, sub)
os.rename(os.path.join(sub, os.path.basename(tf.name)), os.path.join(sub, f))
else:
os.path.isdir(sub) or os.mkdir(sub)
shutil.move(os.path.join(base, f), sub)
169デフォルトの名無しさん
2010/11/25(木) 01:27:07 f.lstrip(u'.')[0] って f[0] でいいような希ガス
170デフォルトの名無しさん
2010/11/25(木) 01:37:08 っていうか普通にバグってるなこれ
171デフォルトの名無しさん
2010/11/25(木) 12:22:18172デフォルトの名無しさん
2011/01/10(月) 21:15:01 【 課題 】
ハノイの塔の解法プロセスを表示するプログラム hanoi.py に対して,
ハノイの塔の解法プロセスをイベントに同期してビジュアル表示するGUIをTkinterの適切なウィジェットを利用して実現せよ.
【 期限 】1ヶ月以内
【 Ver 】Python 2.x
【 補足 】丸投げです.よろしくお願いします.
完成イメージ
http://loda.jp/kakifurai/?id=1
hanoi.py
http://loda.jp/kakifurai/?id=2
ハノイの塔の解法プロセスを表示するプログラム hanoi.py に対して,
ハノイの塔の解法プロセスをイベントに同期してビジュアル表示するGUIをTkinterの適切なウィジェットを利用して実現せよ.
【 期限 】1ヶ月以内
【 Ver 】Python 2.x
【 補足 】丸投げです.よろしくお願いします.
完成イメージ
http://loda.jp/kakifurai/?id=1
hanoi.py
http://loda.jp/kakifurai/?id=2
173デフォルトの名無しさん
2011/01/11(火) 06:54:24 例(hanoi.py)のソースが下手すぎなので治してあげたよ
class Hanoi(object):
def __init__(self, height):
self.bars = [range(height, 0, -1), [], []]
self.step = 0
def __repr__(self):
return 'step -> %d\nBAR1: %s\nBAR2: %s\nBAR3: %s' % (
self.step, self.bars[0], self.bars[1], self.bars[2])
def move(self, n, src, dst, work):
''' move n discs from src to dst using work '''
if n == 1: # move sigle disc directly
self.bars[dst].append(self.bars[src].pop())
self.step += 1
print self
else: # move above (n - 1) discs to work, and move n th disc to dst
self.move(n - 1, src, work, dst)
self.move(1, src, dst, work)
self.move(n - 1, work, dst, src)
if __name__ == '__main__':
import sys
try:
height = int(sys.argv[1])
except (IndexError, TypeError, ValueError), e:
height = 3
hanoi = Hanoi(height)
print hanoi
hanoi.move(height, 0, 1, 2)
class Hanoi(object):
def __init__(self, height):
self.bars = [range(height, 0, -1), [], []]
self.step = 0
def __repr__(self):
return 'step -> %d\nBAR1: %s\nBAR2: %s\nBAR3: %s' % (
self.step, self.bars[0], self.bars[1], self.bars[2])
def move(self, n, src, dst, work):
''' move n discs from src to dst using work '''
if n == 1: # move sigle disc directly
self.bars[dst].append(self.bars[src].pop())
self.step += 1
print self
else: # move above (n - 1) discs to work, and move n th disc to dst
self.move(n - 1, src, work, dst)
self.move(1, src, dst, work)
self.move(n - 1, work, dst, src)
if __name__ == '__main__':
import sys
try:
height = int(sys.argv[1])
except (IndexError, TypeError, ValueError), e:
height = 3
hanoi = Hanoi(height)
print hanoi
hanoi.move(height, 0, 1, 2)
174デフォルトの名無しさん
2011/01/11(火) 07:03:32 なんかかなり酷くなったような…
175デフォルトの名無しさん
2011/01/11(火) 07:15:11 dohanoiよりは好きだな
176デフォルトの名無しさん
2011/01/12(水) 05:46:18177デフォルトの名無しさん
2011/01/12(水) 06:11:47 move 1 from A to C
move 2 from A to B
move 1 from A to C
move 3 from A to C
move 1 from A to C
move 2 from A to B
move 1 from A to C
move 4 from A to B
move 1 from A to C
move 2 from A to B
move 1 from A to C
move 3 from A to C
move 1 from A to C
move 2 from A to B
move 1 from A to C
なんか変
move 2 from A to B
move 1 from A to C
move 3 from A to C
move 1 from A to C
move 2 from A to B
move 1 from A to C
move 4 from A to B
move 1 from A to C
move 2 from A to B
move 1 from A to C
move 3 from A to C
move 1 from A to C
move 2 from A to B
move 1 from A to C
なんか変
178デフォルトの名無しさん
2011/01/12(水) 07:48:14179デフォルトの名無しさん
2011/01/12(水) 07:56:39 クラス化版(テスト)
http://codepad.org/kiaIznYR
http://codepad.org/kiaIznYR
180デフォルトの名無しさん
2011/01/12(水) 08:22:17 どうでもいいリファクタしてないで宿題やってやれよ
181デフォルトの名無しさん
2011/01/12(水) 08:58:54182デフォルトの名無しさん
2011/01/12(水) 09:22:11 一箇所修正
修正前
except StopIteration, e:
self.running = False
修正後
except StopIteration, e:
self.running = False
self.kwClock.set('STOP')
にしてください
後者の方が安定します(謎
修正前
except StopIteration, e:
self.running = False
修正後
except StopIteration, e:
self.running = False
self.kwClock.set('STOP')
にしてください
後者の方が安定します(謎
183172
2011/01/12(水) 12:00:19 >>173-182
こんなにレスもらえるとは思ってませんでした.レスをしてくれた皆さん,ありがとうございました.
作成していただいたプログラム(http://codepad.org/OtCGyrps)はWin7(64bit), Python 2.5.2の環境で正しく動作しました.
どうもありがとうございました.
(ちなみに,Mac OS 10.6, python 2.6.1では動きませんでした.
Tkinterはクロスプラットフォームと思ってましたが,OSに依存するコードもあるのかな?)
これから,皆さんに書いていただいたソースコードを解読していこうと思います.
また機会がありましたら,よろしくお願いします.
こんなにレスもらえるとは思ってませんでした.レスをしてくれた皆さん,ありがとうございました.
作成していただいたプログラム(http://codepad.org/OtCGyrps)はWin7(64bit), Python 2.5.2の環境で正しく動作しました.
どうもありがとうございました.
(ちなみに,Mac OS 10.6, python 2.6.1では動きませんでした.
Tkinterはクロスプラットフォームと思ってましたが,OSに依存するコードもあるのかな?)
これから,皆さんに書いていただいたソースコードを解読していこうと思います.
また機会がありましたら,よろしくお願いします.
184デフォルトの名無しさん
2011/01/12(水) 16:15:42185デフォルトの名無しさん
2011/01/12(水) 19:29:28 10.6 Python 2.6.1で普通に動いたぞ
186デフォルトの名無しさん
2011/01/13(木) 16:18:35 【宿題テンプレ】
[1] 授業単元: Pythonプログラミング
[2] 問題文(含コード&リンク):
四則演算をコマンドラインから入力して答えを出せ。
例)keisan.py (4 x (7 + 2) - 20) / 2
答え:8
[3] 環境
[3.1] OS: WindowsXP SP2以上
[3.2] 言語: Python2.x(出来れば2.5あたりでも動くもの)
[4] 期限:2011年1月末
[5] その他:
[1] 授業単元: Pythonプログラミング
[2] 問題文(含コード&リンク):
四則演算をコマンドラインから入力して答えを出せ。
例)keisan.py (4 x (7 + 2) - 20) / 2
答え:8
[3] 環境
[3.1] OS: WindowsXP SP2以上
[3.2] 言語: Python2.x(出来れば2.5あたりでも動くもの)
[4] 期限:2011年1月末
[5] その他:
187デフォルトの名無しさん
2011/01/13(木) 16:27:50 import sys
print eval(''.join(sys.argv[1:]).replace('x', '*'))
print eval(''.join(sys.argv[1:]).replace('x', '*'))
188デフォルトの名無しさん
2011/01/13(木) 16:59:44 出来ました
早速の回答ありがとうございます
なんでそうなるのか良くわかりませんが
これから書いていただいたソースコードを解読していこうと思います
また機会がありましたらよろしくお願いします
早速の回答ありがとうございます
なんでそうなるのか良くわかりませんが
これから書いていただいたソースコードを解読していこうと思います
また機会がありましたらよろしくお願いします
189見習い
2011/01/14(金) 14:02:03 解答お願いします。
1. 下記のような九九の計算表を出力するプログラムを作成し、実行してください。このときforループを使用するもの(q11.py)と、whileループを使用するもの(q12.py)の2種類を作成してください。
1の段 1 2 3 4 5 6 7 8 9
2の段 2 4 6 8 10 12 14 16 18
..........中略....
9の段 9 18 27 36 45 54 63 72 81
2. 次のような手順で、キーボードから入力した数値の合計を求めるものとします。実際に Python プログラム (q2.py) の形にして、実行してください。
合計に使う変数を 0 にする。
キーボードから数値を入れる。
入力した数値が 0 より大きい間次のブロックを繰り返す:
合計に数値を加える。
キーボードから数値を入れる。
合計を印刷する
3. turtleを使用して、図形を表示するスクリプトg.pyを作成してください。どのような図形を作成するか記述(少なくとも6角形よりは複雑である事)して、スクリプトの内容をメールに含めてください。なお、スクリプトには、必ず for ループを含むようにしてください
1. 下記のような九九の計算表を出力するプログラムを作成し、実行してください。このときforループを使用するもの(q11.py)と、whileループを使用するもの(q12.py)の2種類を作成してください。
1の段 1 2 3 4 5 6 7 8 9
2の段 2 4 6 8 10 12 14 16 18
..........中略....
9の段 9 18 27 36 45 54 63 72 81
2. 次のような手順で、キーボードから入力した数値の合計を求めるものとします。実際に Python プログラム (q2.py) の形にして、実行してください。
合計に使う変数を 0 にする。
キーボードから数値を入れる。
入力した数値が 0 より大きい間次のブロックを繰り返す:
合計に数値を加える。
キーボードから数値を入れる。
合計を印刷する
3. turtleを使用して、図形を表示するスクリプトg.pyを作成してください。どのような図形を作成するか記述(少なくとも6角形よりは複雑である事)して、スクリプトの内容をメールに含めてください。なお、スクリプトには、必ず for ループを含むようにしてください
190デフォルトの名無しさん
2011/01/14(金) 14:49:14 >>> for r in xrange(1, 10):
... print '%dの段' % r,
... for c in xrange(1, 10):
... print r * c,
... print
...
1の段 1 2 3 4 5 6 7 8 9
2の段 2 4 6 8 10 12 14 16 18
3の段 3 6 9 12 15 18 21 24 27
4の段 4 8 12 16 20 24 28 32 36
5の段 5 10 15 20 25 30 35 40 45
6の段 6 12 18 24 30 36 42 48 54
7の段 7 14 21 28 35 42 49 56 63
8の段 8 16 24 32 40 48 56 64 72
9の段 9 18 27 36 45 54 63 72 81
... print '%dの段' % r,
... for c in xrange(1, 10):
... print r * c,
...
1の段 1 2 3 4 5 6 7 8 9
2の段 2 4 6 8 10 12 14 16 18
3の段 3 6 9 12 15 18 21 24 27
4の段 4 8 12 16 20 24 28 32 36
5の段 5 10 15 20 25 30 35 40 45
6の段 6 12 18 24 30 36 42 48 54
7の段 7 14 21 28 35 42 49 56 63
8の段 8 16 24 32 40 48 56 64 72
9の段 9 18 27 36 45 54 63 72 81
191デフォルトの名無しさん
2011/01/14(金) 14:50:27 インデント消えてた orz
for r in xrange(1, 10):
print '%dの段' % r,
for c in xrange(1, 10):
print r * c,
print
for r in xrange(1, 10):
print '%dの段' % r,
for c in xrange(1, 10):
print r * c,
192デフォルトの名無しさん
2011/01/14(金) 15:10:07 q12.py
# -*- coding: utf-8 -*-
while False:
pass
else:
print reduce(lambda a, b: a + reduce(lambda x, y: u'%s %s' % (x, y * b), xrange(1, 10), u'%dの段' % b) + u'\n', xrange(1, 10), u'')
# -*- coding: utf-8 -*-
while False:
pass
else:
print reduce(lambda a, b: a + reduce(lambda x, y: u'%s %s' % (x, y * b), xrange(1, 10), u'%dの段' % b) + u'\n', xrange(1, 10), u'')
193見習い
2011/01/15(土) 12:34:05 2. 以下の手順に沿って二次方程式の解を計算するプログラム q2.py を作りなさい。ただし、実行結果は以下の黄色の囲みの部分の通りになるようにしなさい。なお、平方根の計算には math.sqrt() を使うことができます。
(1) aを入力する
(2) bを入力する
(3) cを入力する
(4) 判別式D=b*b-4*a*cを計算する。
(5) Dの値に応じて以下の処理を行う。
(5-1) D<0 のとき "実数解はありません"と表示する
(5-2) D=0 のとき 重解を計算して表示する
(5-3) D>0 のとき 2つの解を計算して表示する
実行例
$./q2.py二次方程式ax^2+bx+c=0の係数を入れてくださいa? 1b? 0c? 1実数解はありません$ ./q2.py二次方程式ax^2+bx+c=0の係数を入れてくださいa? 1b? 0c? -1解は 1.0 と -1.0 です
(1) aを入力する
(2) bを入力する
(3) cを入力する
(4) 判別式D=b*b-4*a*cを計算する。
(5) Dの値に応じて以下の処理を行う。
(5-1) D<0 のとき "実数解はありません"と表示する
(5-2) D=0 のとき 重解を計算して表示する
(5-3) D>0 のとき 2つの解を計算して表示する
実行例
$./q2.py二次方程式ax^2+bx+c=0の係数を入れてくださいa? 1b? 0c? 1実数解はありません$ ./q2.py二次方程式ax^2+bx+c=0の係数を入れてくださいa? 1b? 0c? -1解は 1.0 と -1.0 です
194デフォルトの名無しさん
2011/01/15(土) 18:01:28195見習い
2011/01/15(土) 23:31:27 >>189 の続きもおながいします。
196デフォルトの名無しさん
2011/01/15(土) 23:53:23 [1] 授業単元:プログラミング及び演習II
[2] 問題文(含コード&リンク):-偏差値と標準偏差の計算-
入力ファイル motofile.dat を事前に用意し、出力ファイル result.dat を
生成する Python ソースプログラム hensa.py を書け。
入力ファイルと出力ファイルは、コマンドライン引数から文字列として取得し、
プログラムでは必ず class を使用すること。
プログラムは以下の形式で実行する。
$ ./hensa.py < motofile.dat > result.dat
生成される result.dat の内容は以下の通りである。
http://codepad.org/8qupROUX
順位4位と順位9位に注意されたい。
[3] 言語:Python 2.5 以上
[4] 期限:2011年01月16日 19:00まで
[5] その他の制限:このプログラムを参考にして下さい。
http://codepad.org/xQ7jLJ15
平均・標準偏差・偏差値の計算式
Wikipedia -偏差値- 数式による解説にある計算式を使って下さい。
平方根の計算には、math.sqrt 関数を使用して下さい。
[2] 問題文(含コード&リンク):-偏差値と標準偏差の計算-
入力ファイル motofile.dat を事前に用意し、出力ファイル result.dat を
生成する Python ソースプログラム hensa.py を書け。
入力ファイルと出力ファイルは、コマンドライン引数から文字列として取得し、
プログラムでは必ず class を使用すること。
プログラムは以下の形式で実行する。
$ ./hensa.py < motofile.dat > result.dat
生成される result.dat の内容は以下の通りである。
http://codepad.org/8qupROUX
順位4位と順位9位に注意されたい。
[3] 言語:Python 2.5 以上
[4] 期限:2011年01月16日 19:00まで
[5] その他の制限:このプログラムを参考にして下さい。
http://codepad.org/xQ7jLJ15
平均・標準偏差・偏差値の計算式
Wikipedia -偏差値- 数式による解説にある計算式を使って下さい。
平方根の計算には、math.sqrt 関数を使用して下さい。
197デフォルトの名無しさん
2011/01/16(日) 22:44:46 >>195
> 2. 次のような手順で、キーボードから入力した数値の合計を求めるものとします。実際に Python プログラム (q2.py) の形にして、実行してください。
> 合計に使う変数を 0 にする。
> キーボードから数値を入れる。
> 入力した数値が 0 より大きい間次のブロックを繰り返す:
> 合計に数値を加える。
> キーボードから数値を入れる。
> 合計を印刷する
import os
sum = 0.0
n = float(raw_input())
while n>0:
sum += n
n = float(raw_input())
os.system("echo %f | lp" % sum) # windowsならos.system("echo %f >PRN" % sum)
> 2. 次のような手順で、キーボードから入力した数値の合計を求めるものとします。実際に Python プログラム (q2.py) の形にして、実行してください。
> 合計に使う変数を 0 にする。
> キーボードから数値を入れる。
> 入力した数値が 0 より大きい間次のブロックを繰り返す:
> 合計に数値を加える。
> キーボードから数値を入れる。
> 合計を印刷する
import os
sum = 0.0
n = float(raw_input())
while n>0:
sum += n
n = float(raw_input())
os.system("echo %f | lp" % sum) # windowsならos.system("echo %f >PRN" % sum)
198デフォルトの名無しさん
2011/01/17(月) 01:49:45199デフォルトの名無しさん
2011/01/17(月) 02:43:58 >>189
メールの意味が訳わからん
メールの意味が訳わからん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★6 [ぐれ★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【芸能】ワイドショーはオワコンなのか... フジ・朝の情報番組『サン!シャイン』1年で打ち切り報道 テレビよりSNSの視聴者 [冬月記者★]
- 【日銀】0.75%に利上げへ 来週の決定会合で、30年ぶり水準 賃金改善の継続見込む [ぐれ★]
- 知識層、気ずく…日本の愛国保守はなぜ統一教会を批判しないんだ… [819729701]
- (ヽ´ん`)「嫌儲はマジで高IQ集団だろ」 [357264179]
- 【正論】X民「ドラクエに一言いいたいんだけどさ、もう人ん家のタンスあさりやめない?価値観アップデートして」5万いいね [339712612]
- 【巨人】阿部監督「坂本はブッ壊れてもいいやって思えるかどうかが重要だね」
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★8
- 【高市速報】日本、イギリスフランスドイツに相次ぎ告げ口外交を開始wwwwwwww🤪 [931948549]
