【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
2009/11/20(金) 02:23:36
2009/11/20(金) 02:28:40
3834
2009/11/20(金) 02:32:45 ありがとうございます!
39デフォルトの名無しさん
2009/11/20(金) 18:15:24 分数を表現するクラスFractionを定義し,いくつかのインスタンスを生成して表示せよ.
Hint
分子と分母をそれぞれアトリビュートとして持つ
コンストラクタには分子と分母をそれぞれ引数として与える
printすると,"分子/分母"の形で表示されるようにする
たとえば,1/2 や 5/8 など
プログラムは次のような形になる
# 分数クラス
class Fraction(object):
def __init__(...):
// __init__()のコード //
def __str__(self):
// __str__()のコード //
# 1/3を作る
f1 = Fraction(1, 3)
# 2/5を作る
f2 = Fraction(2, 5)
# 表示してみる
print f1, f2
Hint
分子と分母をそれぞれアトリビュートとして持つ
コンストラクタには分子と分母をそれぞれ引数として与える
printすると,"分子/分母"の形で表示されるようにする
たとえば,1/2 や 5/8 など
プログラムは次のような形になる
# 分数クラス
class Fraction(object):
def __init__(...):
// __init__()のコード //
def __str__(self):
// __str__()のコード //
# 1/3を作る
f1 = Fraction(1, 3)
# 2/5を作る
f2 = Fraction(2, 5)
# 表示してみる
print f1, f2
2009/11/20(金) 18:21:32
出来ました先生
>>> class Fraction(object):
... def __init__(self, p, q):
... self.p = p
... self.q = q
... def __str__(self):
... return '%d/%d' % (self.p, self.q)
...
>>> f1 = Fraction(1, 3)
>>> f2 = Fraction(2, 5)
>>> print f1, f2
1/3 2/5
>>> class Fraction(object):
... def __init__(self, p, q):
... self.p = p
... self.q = q
... def __str__(self):
... return '%d/%d' % (self.p, self.q)
...
>>> f1 = Fraction(1, 3)
>>> f2 = Fraction(2, 5)
>>> print f1, f2
1/3 2/5
2009/11/20(金) 18:22:02
from fractions import Fraction
2009/11/20(金) 18:24:12
∧,,∧ ∧,,∧
∧ (´・ω・) (・ω・`) ∧∧ ヒソヒソ・・・
( ´・ω) U) ( つと ノ(ω・` )
| U ( ´・) (・` ) と ノ ヒソヒソ・・・
u-u (l ) ( ノu-u
`u-u'. `u-u'
∧ (´・ω・) (・ω・`) ∧∧ ヒソヒソ・・・
( ´・ω) U) ( つと ノ(ω・` )
| U ( ´・) (・` ) と ノ ヒソヒソ・・・
u-u (l ) ( ノu-u
`u-u'. `u-u'
43デフォルトの名無しさん
2009/11/24(火) 19:45:10 正多角形を表現するクラスPolygonを定義し,いくつかのインスタンスを生成して表示せよ.メソッドも実行して結果を示すこと.
・辺の数と1辺の長さをアトリビュートとして持つ (コンストラクタは引数として辺の数と1辺の長さを取る)
・printすると次のように表示される
[Polygon] 辺の数: 5, 辺の長さ: 100
・周囲の長さを返すメソッド(perimeter)を持つ (引数なし)
・辺の数と1辺の長さをアトリビュートとして持つ (コンストラクタは引数として辺の数と1辺の長さを取る)
・printすると次のように表示される
[Polygon] 辺の数: 5, 辺の長さ: 100
・周囲の長さを返すメソッド(perimeter)を持つ (引数なし)
2009/11/24(火) 20:45:28
概出
45デフォルトの名無しさん
2009/11/25(水) 22:27:19 Polygonをスーパークラスとして,正三角形(Triangle),正四角形(Square)を表現するクラスをそれぞれ定義せよ.
・辺の長さのみを引数に与えてインスタンスを生成する
・自身の面積を計算して結果を返すメソッドarea()を持つ
√3 = 1.73 としてよい
メインルーチンでは,実際にインスタンスを生成し,各インスタンスについて,インスタンス自身,周囲の長さ,面積の3項目を表示するようにせよ.
・辺の長さのみを引数に与えてインスタンスを生成する
・自身の面積を計算して結果を返すメソッドarea()を持つ
√3 = 1.73 としてよい
メインルーチンでは,実際にインスタンスを生成し,各インスタンスについて,インスタンス自身,周囲の長さ,面積の3項目を表示するようにせよ.
2009/11/25(水) 22:29:29
概出
2009/11/29(日) 09:49:56
【 課題 】四人四首問題。「かるた部」の練習の一環として、
百人一首の中から第一文字が「や」の四枚を選んで、徹底的に練習することに
しました。四枚とは、
やすらはでねなましものをさよふけてかたぶくまでのつきをみしかな
やへむぐらしげれるやどのさびしきにひとをもみをみうらみざらまし
やまざとはふゆぞさびしさまさりけるひとめもくさもかれぬとおもへば
やまがはにかぜのかけたるしがらみはながれもあへぬもみぢなりけり
ルールは、
1) 二人ゲームである。
2) 四枚のなかから無作為に二枚を選び自分と相手の札とする。
3) 読み手は四枚全部読み上げる。いたがって空札(取る札がない)が二枚含まれる。
4) 一枚取った時点で勝負はつくが、残りの一枚も競うこととする。
[問題] 乱数を使ってそれぞれの持ち札を決め、それを表示します。
つぎに、読み札の順番を決めます。これはこの段階では表示しません。
一首、読み、それを表示し、
1) 空札 : 何文字目まで読まれてそれがわかったか
2) 相手札 : 同上
3) 自分札 : 同上
を表示しなさい。これを繰り返し、取り札がなくなったらゲームオーバー。
4) 二つのモードで作りなさい
1) 読まれた札を二人とも記憶している。
2) 読まれた札は忘れてしまう。
実際には取り札には下の句が書かれていますが、ここでは一首全体をお互い理解しているものとします。
百人一首の中から第一文字が「や」の四枚を選んで、徹底的に練習することに
しました。四枚とは、
やすらはでねなましものをさよふけてかたぶくまでのつきをみしかな
やへむぐらしげれるやどのさびしきにひとをもみをみうらみざらまし
やまざとはふゆぞさびしさまさりけるひとめもくさもかれぬとおもへば
やまがはにかぜのかけたるしがらみはながれもあへぬもみぢなりけり
ルールは、
1) 二人ゲームである。
2) 四枚のなかから無作為に二枚を選び自分と相手の札とする。
3) 読み手は四枚全部読み上げる。いたがって空札(取る札がない)が二枚含まれる。
4) 一枚取った時点で勝負はつくが、残りの一枚も競うこととする。
[問題] 乱数を使ってそれぞれの持ち札を決め、それを表示します。
つぎに、読み札の順番を決めます。これはこの段階では表示しません。
一首、読み、それを表示し、
1) 空札 : 何文字目まで読まれてそれがわかったか
2) 相手札 : 同上
3) 自分札 : 同上
を表示しなさい。これを繰り返し、取り札がなくなったらゲームオーバー。
4) 二つのモードで作りなさい
1) 読まれた札を二人とも記憶している。
2) 読まれた札は忘れてしまう。
実際には取り札には下の句が書かれていますが、ここでは一首全体をお互い理解しているものとします。
4847
2009/11/29(日) 09:54:15 ちょっと直します。
四人一首問題ですねw いたがって->従って
四人一首問題ですねw いたがって->従って
4947
2009/11/29(日) 10:12:02 すみません。これは完全なシミュレーションとしてプログラムしてください。
読み札が表示されたら、キーボードから答えを入力という作り方もあると
思いますが。
読み札が表示されたら、キーボードから答えを入力という作り方もあると
思いますが。
2009/11/29(日) 11:55:25
# encoding: utf-8
import random
remember = True
cardall = set([
u"やすらはでねなましものをさよふけてかたぶくまでのつきをみしかな",
u"やへむぐらしげれるやどのさびしきにひとをもみをみうらみざらまし",
u"やまざとはふゆぞさびしさまさりけるひとめもくさもかれぬとおもへば",
u"やまがはにかぜのかけたるしがらみはながれもあへぬもみぢなりけり",
])
hand1, hand2 = random.sample(cardall, 2)
print "自分札:", hand1; print "相手札:", hand2; print
def specify(card, cardset):
for i in xrange(len(card)):
if sum(card[:i] == c[:i] for c in cardset) == 1: return i
rem = set()
remain = 2
for card in random.sample(cardall, 4):
print card
n = specify(card, cardall - rem)
if card == hand1:
print "自分札:", n; remain -= 1
elif card == hand2:
print "相手札:", n; remain -= 1
else:
print "空札:", n
print
if remain == 0:
print "Game Over"; break
if remember: rem.add(card)
import random
remember = True
cardall = set([
u"やすらはでねなましものをさよふけてかたぶくまでのつきをみしかな",
u"やへむぐらしげれるやどのさびしきにひとをもみをみうらみざらまし",
u"やまざとはふゆぞさびしさまさりけるひとめもくさもかれぬとおもへば",
u"やまがはにかぜのかけたるしがらみはながれもあへぬもみぢなりけり",
])
hand1, hand2 = random.sample(cardall, 2)
print "自分札:", hand1; print "相手札:", hand2; print
def specify(card, cardset):
for i in xrange(len(card)):
if sum(card[:i] == c[:i] for c in cardset) == 1: return i
rem = set()
remain = 2
for card in random.sample(cardall, 4):
print card
n = specify(card, cardall - rem)
if card == hand1:
print "自分札:", n; remain -= 1
elif card == hand2:
print "相手札:", n; remain -= 1
else:
print "空札:", n
if remain == 0:
print "Game Over"; break
if remember: rem.add(card)
2009/11/29(日) 19:44:36
2009/12/02(水) 07:56:47
【 課題 】和歌について考察する問題。
歌 ... こぬ人を待つほの浦の夕凪はやくやもしほの身もこがれつつ (定家)
これはかなり複雑なうたです。
人をまつとは「待つ」であり、「松」です。まつ帆だからです。松の姿に似た帆です。
もちろん松は浦の背景でもあります。浦は夕凪ですから心は風を「待って」もいます。
風はありませんから、待ってもこぬ人なのです。風があの人なのかそれとも帆船なのか
微妙です。浦は「浦」であると同時に心の「裏」であり、あの人(風)の気持ちを「占」なふ、
うらでもあります。
「焼くや」(やいているのだろうか)とは、恋に焦がれて身を焼いているのであり、
やくやもしほとは藻塩(自分)が陽にあぶられ、渇き、焼かれ、煙でいぶされ、さらに
煮られ、再び乾かされというような、製塩法の愛の地獄絵であり、身もこがれという
言葉には「藻」がここでも含まれています。製塩の煙は夕凪の浦に実際に漂って
いるのかもしれません。
以上のような、この歌に含まれる語とそれからくる連想をプログラムで表現しなさい。
歌 ... こぬ人を待つほの浦の夕凪はやくやもしほの身もこがれつつ (定家)
これはかなり複雑なうたです。
人をまつとは「待つ」であり、「松」です。まつ帆だからです。松の姿に似た帆です。
もちろん松は浦の背景でもあります。浦は夕凪ですから心は風を「待って」もいます。
風はありませんから、待ってもこぬ人なのです。風があの人なのかそれとも帆船なのか
微妙です。浦は「浦」であると同時に心の「裏」であり、あの人(風)の気持ちを「占」なふ、
うらでもあります。
「焼くや」(やいているのだろうか)とは、恋に焦がれて身を焼いているのであり、
やくやもしほとは藻塩(自分)が陽にあぶられ、渇き、焼かれ、煙でいぶされ、さらに
煮られ、再び乾かされというような、製塩法の愛の地獄絵であり、身もこがれという
言葉には「藻」がここでも含まれています。製塩の煙は夕凪の浦に実際に漂って
いるのかもしれません。
以上のような、この歌に含まれる語とそれからくる連想をプログラムで表現しなさい。
2009/12/23(水) 23:58:06
Windows XP上で、
標準入力から入力されたパスを調べて、
1.実在するディレクトリだったらそのディレクトリとサブディレクトリの中のファイルのフルパスの一覧を標準出力に出力する。
2.実在するファイルだったらそのフルパスを標準出力に出力する。
3.実在しないパスだったらエラーを標準出力に出力する。
こんなPythonスクリプトをどなたか書いて下さいませんか?
よろしくお願い申し上げます。
標準入力から入力されたパスを調べて、
1.実在するディレクトリだったらそのディレクトリとサブディレクトリの中のファイルのフルパスの一覧を標準出力に出力する。
2.実在するファイルだったらそのフルパスを標準出力に出力する。
3.実在しないパスだったらエラーを標準出力に出力する。
こんなPythonスクリプトをどなたか書いて下さいませんか?
よろしくお願い申し上げます。
54デフォルトの名無しさん
2009/12/24(木) 00:13:41 ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
2009/12/24(木) 11:56:36
>>53
import sys
import os
import os.path
s = sys.stdin.readline().rstrip('\n')
if os.path.exists(s):
if os.path.isdir(s):
for x in os.listdir(s):
print os.path.abspath(x)
else:
print os.path.abspath(s)
else:
print 'Not exists.'
import sys
import os
import os.path
s = sys.stdin.readline().rstrip('\n')
if os.path.exists(s):
if os.path.isdir(s):
for x in os.listdir(s):
print os.path.abspath(x)
else:
print os.path.abspath(s)
else:
print 'Not exists.'
5653
2009/12/24(木) 13:49:31 Pythonだとそんなに簡潔に書けるんですね。
ありがとうございます
(>_<)
ありがとうございます
(>_<)
2009/12/25(金) 05:13:16
>そのディレクトリとサブディレクトリの中の
題意を満たしていないような希ガス
題意を満たしていないような希ガス
2009/12/25(金) 11:20:37
2009/12/25(金) 12:16:49
>そのディレクトリと
題意を満たしていないような希ガス
題意を満たしていないような希ガス
2009/12/25(金) 19:23:14
宿題なんだから
ちょっと間違えてるくらいが丁度良い
ちょっと間違えてるくらいが丁度良い
6153
2009/12/25(金) 20:24:29 みなさんありがとうございます。
感謝です。。
感謝です。。
6253
2009/12/25(金) 20:27:25 >>58
Traceback (most recent call last):
File "aaaaaa.py", line 6, in ?
for root, dirs, files in os.walk(s):
AttributeError: 'module' object has no attribute 'walk'
こんなエラーがでました。
どうすれば良いでしょうか。
Traceback (most recent call last):
File "aaaaaa.py", line 6, in ?
for root, dirs, files in os.walk(s):
AttributeError: 'module' object has no attribute 'walk'
こんなエラーがでました。
どうすれば良いでしょうか。
2009/12/25(金) 21:33:57
pythonのバージョンは? python -Vで調べられる
2009/12/25(金) 22:32:31
C:\>python -V
Python 2.2.2
って言われました。
Python 2.2.2
って言われました。
2009/12/25(金) 22:54:12
2009/12/25(金) 23:04:24
2009/12/25(金) 23:09:53
>>66
それがベスト
それがベスト
2009/12/25(金) 23:27:07
6968
2009/12/25(金) 23:37:58 できました。
ありがとうございました。
ありがとうございました。
2009/12/28(月) 08:00:42
Windows XP上で、
標準入力から入力されたパスを調べて、
1.実在するディレクトリだったらそのディレクトリの名前とサブディレクトリの名前と、
それらの中にあるファイルの名前、およびファイルの中身に以下の置換作業を実行する。
前からみて順に正規表現regex="〜〜"にマッチする文字列を全て"hogehoge"に置換する。
2.実在しないディレクトリでなかったらエラーメッセージを標準出力に出力する。
こんなPythonスクリプトをどなたか書いて下さいませんか?
よろしくお願い申し上げます。
標準入力から入力されたパスを調べて、
1.実在するディレクトリだったらそのディレクトリの名前とサブディレクトリの名前と、
それらの中にあるファイルの名前、およびファイルの中身に以下の置換作業を実行する。
前からみて順に正規表現regex="〜〜"にマッチする文字列を全て"hogehoge"に置換する。
2.実在しないディレクトリでなかったらエラーメッセージを標準出力に出力する。
こんなPythonスクリプトをどなたか書いて下さいませんか?
よろしくお願い申し上げます。
71デフォルトの名無しさん
2009/12/28(月) 08:02:242009/12/28(月) 08:05:23
> regex="〜〜"にマッチする文字列を全て"hogehoge"
これはユーザにどうやって指定させるんだ
それともスクリプト中に埋め込んでしまっていいのか
というかパスを置換するのはわかったけど
ファイルの中身まで置換するっていうのは本気なのか
これはユーザにどうやって指定させるんだ
それともスクリプト中に埋め込んでしまっていいのか
というかパスを置換するのはわかったけど
ファイルの中身まで置換するっていうのは本気なのか
2009/12/28(月) 08:17:40
>>72
> これはユーザにどうやって指定させるんだ
ごもっともです。
ちょっと変えて、
setting.iniを読み込んで1行目を
> 標準入力から入力されたパスを調べて、
これに代えて調べるパスとします。
また2行目を
regex="〜〜" #正規表現
3行目を
"hogehoge" #置換後の文字列
として取得するとしてください。
> というかパスを置換するのはわかったけど
> ファイルの中身まで置換するっていうのは本気なのか
本気です。
・・・宿題なものでして。
> これはユーザにどうやって指定させるんだ
ごもっともです。
ちょっと変えて、
setting.iniを読み込んで1行目を
> 標準入力から入力されたパスを調べて、
これに代えて調べるパスとします。
また2行目を
regex="〜〜" #正規表現
3行目を
"hogehoge" #置換後の文字列
として取得するとしてください。
> というかパスを置換するのはわかったけど
> ファイルの中身まで置換するっていうのは本気なのか
本気です。
・・・宿題なものでして。
2009/12/28(月) 09:28:50
Python 2.6.4です。
これが分かりません。
> 問 1 次のプログラムの実行結果は 1になる。
> a='apple'
> b='apple'
> print a is b # 1 を出力
> つまり a と b はデータを共有している。これで問題が発生しない理由について考えよ。
>
> 問 2 次のプログラムの実行結果は 0 になる。
> a=('apple',1)
> b=('apple',1)
> print a is b # 0 を出力
> つまり a と b はデータを共有していない。タプル形式の要素への代入が禁じられているにも
> かかわらず安全策が採られているのである。何故か? もしも要素の性格に関わらずタプル形
式のデータを共有した場合に、どのような問題が発生するかを具体例で示せ。
ttp://codepad.org/F6w1aRBF
どうしてでしょうか?
問1は
'apple'は書き換え不可能だから共有させても問題ないため
だと思いますが問2が分かりません。
これが分かりません。
> 問 1 次のプログラムの実行結果は 1になる。
> a='apple'
> b='apple'
> print a is b # 1 を出力
> つまり a と b はデータを共有している。これで問題が発生しない理由について考えよ。
>
> 問 2 次のプログラムの実行結果は 0 になる。
> a=('apple',1)
> b=('apple',1)
> print a is b # 0 を出力
> つまり a と b はデータを共有していない。タプル形式の要素への代入が禁じられているにも
> かかわらず安全策が採られているのである。何故か? もしも要素の性格に関わらずタプル形
式のデータを共有した場合に、どのような問題が発生するかを具体例で示せ。
ttp://codepad.org/F6w1aRBF
どうしてでしょうか?
問1は
'apple'は書き換え不可能だから共有させても問題ないため
だと思いますが問2が分かりません。
2009/12/28(月) 10:02:38
2009/12/28(月) 10:05:33
念のために付け加えると
> a='apple'
> b='apple'
> print a is b # 1 を出力
これで1になるか0になるかは実装依存
> a='apple'
> b='apple'
> print a is b # 1 を出力
これで1になるか0になるかは実装依存
7774
2009/12/28(月) 10:10:06 ありがとうございます。
a=('apple',[])
b=('apple',[])
だとすると
a[1]=[2]
は不可能ですが
a[1].append(2)
こんなことは可能だから、ってことですね。
なるほど。
a=('apple',[])
b=('apple',[])
だとすると
a[1]=[2]
は不可能ですが
a[1].append(2)
こんなことは可能だから、ってことですね。
なるほど。
2009/12/28(月) 13:52:08
a[1][:]=[2]
79>70
2009/12/29(火) 00:02:10 すみません。
>>70 お願いします。
補正したものは以下です。
########################################################3
Windows XP上で、
まず 同じディレクトリにあるsetting.iniを読み込んで
その1行目, 2行目, 3行目を
文字列p, regex, aftに格納する。
pをパスとして調べ、
1.実在するディレクトリだったらそのディレクトリの名前とサブディレクトリの名前と、
それらの中にあるファイルの名前、およびファイルの中身に以下の置換作業を実行する。
> 前からみて順に正規表現regexにマッチする文字列を全てaftに置換する。
2.実在しないディレクトリでなかったらエラーメッセージを標準出力に出力する。
こんなPythonスクリプトをどなたか書いて下さいませんか?
よろしくお願い申し上げます。
>>70 お願いします。
補正したものは以下です。
########################################################3
Windows XP上で、
まず 同じディレクトリにあるsetting.iniを読み込んで
その1行目, 2行目, 3行目を
文字列p, regex, aftに格納する。
pをパスとして調べ、
1.実在するディレクトリだったらそのディレクトリの名前とサブディレクトリの名前と、
それらの中にあるファイルの名前、およびファイルの中身に以下の置換作業を実行する。
> 前からみて順に正規表現regexにマッチする文字列を全てaftに置換する。
2.実在しないディレクトリでなかったらエラーメッセージを標準出力に出力する。
こんなPythonスクリプトをどなたか書いて下さいませんか?
よろしくお願い申し上げます。
2009/12/29(火) 00:18:18
最近はそんな宿題が出るのか
2009/12/29(火) 08:21:32
どの言語でもいいからこんなのを作りなさい
という感じの一般教養+αな宿題です。
という感じの一般教養+αな宿題です。
82デフォルトの名無しさん
2010/01/01(金) 08:57:27 あけましておめでとうございます。
すみませんどなたか
>>79
お願いできませんか?
ファイル名はともかく全てのファイルの中身を置換するというところがいまひと
つできなさそうです。
文系なのですが何を間違ったかこんな難しそうな科目を…。
すみませんどなたか
>>79
お願いできませんか?
ファイル名はともかく全てのファイルの中身を置換するというところがいまひと
つできなさそうです。
文系なのですが何を間違ったかこんな難しそうな科目を…。
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")
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")
2010/01/17(日) 21:12:41
【課題】
同じ長さのリストA,Bがある。Aはソート対象のデータ、Bは比較用の値が入っている。
A,Bの2つの引数をとり、Bの値が昇順になるようにAをソートする関数を定義しなさい。
引数のリストは破壊しても良く、ソート結果は戻り値・引数Aを上書きのどちらでも良い。
処理の早いものには追加点を与える。
【期限】 1月18日(月) 午後1時
【Ver】 Python 2.6
よろしくおねがいします。
同じ長さのリストA,Bがある。Aはソート対象のデータ、Bは比較用の値が入っている。
A,Bの2つの引数をとり、Bの値が昇順になるようにAをソートする関数を定義しなさい。
引数のリストは破壊しても良く、ソート結果は戻り値・引数Aを上書きのどちらでも良い。
処理の早いものには追加点を与える。
【期限】 1月18日(月) 午後1時
【Ver】 Python 2.6
よろしくおねがいします。
2010/01/17(日) 22:43:37
A, B の初期値と結果の具体例が欲しい。
A, B が同じ長さのリストと言ってるが、
共通してない要素はソートの結果のどこに入るんだ?
A, B が同じ長さのリストと言ってるが、
共通してない要素はソートの結果のどこに入るんだ?
2010/01/18(月) 01:08:35
>>86
問題よくよめ
問題よくよめ
2010/01/18(月) 01:20:42
mysort = lambda A, B: [t[1] for t in sorted(zip(B, A))]
2010/01/18(月) 13:14:38
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]
これで理解できなければ
アルゴリズムの教科書をソートキーで引いてくれ。
> 比較用の値ってなんですか?
例えば、[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]
これで理解できなければ
アルゴリズムの教科書をソートキーで引いてくれ。
2010/01/27(水) 00:28:55
●カップラーメンのタイマーを作成●
・tkinterをしようしてGUIで操作できるようにする。
・3分、5分、…といくつか選択できるようにする。
スマートなコードを宜しくお願い致します。
・tkinterをしようしてGUIで操作できるようにする。
・3分、5分、…といくつか選択できるようにする。
スマートなコードを宜しくお願い致します。
2010/01/27(水) 00:43:10
概出
答えは過去ログでどうぞ
答えは過去ログでどうぞ
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()
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も平行して学習しているんですが(意外といい)
出てくる用語はほぼ同じと考えてもいいですか?
クラスとか、継承とか、オブジェクトとか
すごい!
ありがとうございます。
参考にして勉強させて頂きます。
ちなみにVBも平行して学習しているんですが(意外といい)
出てくる用語はほぼ同じと考えてもいいですか?
クラスとか、継承とか、オブジェクトとか
2010/01/27(水) 03:00:07
VBに継承でてくんの?
97デフォルトの名無しさん
2010/01/27(水) 04:10:40 参考書には書いてあるんですよ
2010/01/29(金) 21:55:33
VBの継承ってどんなのか解らんが
クラスやオブジェクトについてはだいたい一緒じゃね
個人的にVBは戻り値の設定と関数からの脱出が別れてるとこが面白いな
クラスやオブジェクトについてはだいたい一緒じゃね
個人的にVBは戻り値の設定と関数からの脱出が別れてるとこが面白いな
2010/01/30(土) 00:11:24
面倒なだけで面白くもなんともない
さらに戻り値設定し忘れとか起こすしろくなことにならない
言語仕様として糞
さらに戻り値設定し忘れとか起こすしろくなことにならない
言語仕様として糞
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
/ ~つと)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】J1昇格PO決勝戦 千葉、来季のJ1昇格が決定 17年越しの悲願叶える…オリジナル10が05年以来のJ1にそろう [久太郎★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★6 [ぐれ★]
- 南京で「大虐殺」追悼式典 中国、高市政権をけん制 (共同通信) [少考さん★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★5 [ぐれ★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【高市速報】日本、イギリスフランスドイツに相次ぎ告げ口外交を開始wwwwwwww🤪 [931948549]
- アメリカの自動車団体、中国車の国内進出阻止を政府に要求 [838847604]
- 【悲報】(ヽ´ん`)「まるごとバナナ買おうとしたら219円に値上げしてたから自分で作ってやった。ほぼ半額」 [802034645]
- なかやま〜きんにくんだよ〜みたいな事言う女芸人いたじゃん?
- 【高市朗報】江戸走り、考案者大場克則さんに教わる正しい江戸走りのコツ動画 [699577814]
- (ヽ´ん`)「嫌儲はマジで高IQ集団だろ」 [357264179]
