Pythonについて0から教えてください
レス数が1000を超えています。これ以上書き込みはできません。
0001fool
2005/09/07(水) 15:19:16について0から教えてください
お願いします
0002デフォルトの名無しさん
2005/09/07(水) 15:33:000003デフォルトの名無しさん
2005/09/07(水) 15:34:540004デフォルトの名無しさん
2005/09/07(水) 15:50:29まあ、あきらめが肝心だな。
0005fool
2005/09/07(水) 16:05:160006デフォルトの名無しさん
2005/09/07(水) 16:32:27入手方法から知りたいなら環境くらい書いただろうだ
0010デフォルトの名無しさん
2005/09/07(水) 17:10:40http://pc8.2ch.net/test/read.cgi/php/1124710112/
Pythonのお勉強 Part7
http://pc8.2ch.net/test/read.cgi/tech/1125159015/
★Pythonって死滅しちゃうの?Part8★
http://pc8.2ch.net/test/read.cgi/tech/1113431728/
Python厨とRuby厨が仲直りするスレッド
http://pc8.2ch.net/test/read.cgi/tech/1099804004/
MacでPython Part 1
http://pc7.2ch.net/test/read.cgi/mac/1105894574/
Python
http://pc8.2ch.net/test/read.cgi/linux/1078144088/
Pythonお勉強スレッド(臨時用)
http://pc7.2ch.net/test/read.cgi/pc2nanmin/1080466416/
0011デフォルトの名無しさん
2005/09/07(水) 17:29:490013デフォルトの名無しさん
2005/09/07(水) 17:39:26IDLE(Python GUI)
Module Docs
Python(command line)
Python Manuals
Uninstall Python
0014デフォルトの名無しさん
2005/09/07(水) 17:41:46もし同じ物ならどちらが一般的に使われていますか
0015デフォルトの名無しさん
2005/09/07(水) 17:43:07http://www.python.jp/Zope/download/pythonjpdist
とりあえずここからバイナリ落として来い
0016デフォルトの名無しさん
2005/09/07(水) 18:26:28違いは、""は中に"が書けない、''は中に'が書けない。
0017デフォルトの名無しさん
2005/09/07(水) 18:35:14http://www.python.jp/Zope/intro/instant_hacking_jp
http://www.python.jp/Zope/intro/instant_python_jp
http://www.python.jp/doc/release/tut/
http://www.amazon.co.jp/exec/obidos/ASIN/4873112109/qid=1126085481/sr=1-1/ref=sr_1_10_1/249-0816997-5615561
0018デフォルトの名無しさん
2005/09/07(水) 18:57:05ありがとうございます
よくわかりました
0019fool
2005/09/07(水) 20:03:36PHPに変えます。
0020デフォルトの名無しさん
2005/09/07(水) 20:11:040021デフォルトの名無しさん
2005/09/07(水) 22:52:30PHPについて0から教えてください
だな
0022デフォルトの名無しさん
2005/09/07(水) 22:54:39phpについて教えてください!
http://pc8.2ch.net/test/read.cgi/tech/1125139051/
もう既にある。あきらめるしかないな。
0023デフォルトの名無しさん
2005/09/07(水) 23:10:40できたほうが便利じゃないの?
0024デフォルトの名無しさん
2005/09/07(水) 23:47:160からじゃないじゃん
0025デフォルトの名無しさん
2005/09/08(木) 01:16:120026デフォルトの名無しさん
2005/09/08(木) 03:40:130027デフォルトの名無しさん
2005/09/08(木) 03:45:48たった2行で書けるなんてすげー
a=input("a=")
b=input("b=")
if b>a:
a,b=b,a
while b>0:
a,b=b,a%b
print a
0028デフォルトの名無しさん
2005/09/08(木) 06:19:31実際には引数としてselfにあたるものは必要ないようですが……
0029デフォルトの名無しさん
2005/09/08(木) 06:23:11ただ単にメソッド、もしくはメンバ関数と言い換えたい
サンクス
0030デフォルトの名無しさん
2005/09/08(木) 19:02:58まずPCには一切触れず
机とPC本体への雑巾がけから始めろ
全てはそこから始まる
0031デフォルトの名無しさん
2005/09/08(木) 19:15:09勝手にインデントすると起こられるし
fじゃこし
0032名無しさん@そうだ選挙に行こう
2005/09/11(日) 09:00:380033名無しさん@そうだ選挙に行こう
2005/09/11(日) 10:58:01じゃね?
0034名無しさん@そうだ選挙に行こう
2005/09/11(日) 17:10:28上部に灰色のエリアが現れるんだけど
0035デフォルトの名無しさん
2005/09/14(水) 16:32:03何のエディタ?
0036デフォルトの名無しさん
2005/09/14(水) 23:43:10そのエリアは、自分の作業している階層のヒントが表示されるものです。
長いコードを書けば分かる。
たとえば、次のようなコードをいれて改行しまくると分かりますよ。
def foo():
for i in range(10):
print i
0037デフォルトの名無しさん
2005/09/16(金) 03:30:22レスありがとうございます
色々試してみたんですがやっぱり変化ないです
うーん、なんでだろう……
そのコードの後に改行を入れたらいいんですよね
0038デフォルトの名無しさん
2005/09/16(金) 21:29:440039デフォルトの名無しさん
2005/09/16(金) 21:34:480040デフォルトの名無しさん
2005/09/16(金) 23:44:21http://www.unixuser.org/~euske/doc/pygame/newbieguide-j.html
rect = pygame.Rect(10, 20, 30, 30)
rect = pygame.Rect((10, 20, 30, 30))
rect = pygame.Rect((10, 20), (30, 30))
rect = (10, 20, 30, 30)
rect = ((10, 20, 30, 30))
この4番目と5番目ってどう違うの?
5番目は((10, 20)(30, 30))の間違いかなぁとおもって聞いてみた
漏れの勘違いで、本当は何か違いがあるなら教えてくれ
0041デフォルトの名無しさん
2005/09/17(土) 01:40:28そのソースコードだと print i の後に37個改行入れて初めて分かる
0042デフォルトの名無しさん
2005/09/17(土) 10:52:274番目のrectの中身はリスト、
5番目のrectの中身はリストのリスト
004342
2005/09/17(土) 10:54:390044デフォルトの名無しさん
2005/09/18(日) 00:22:464 番目と 5 番目は等しいよ (両方とも 1 次元のタプル)
著者がどういう意図なのかはわからないけど
0045デフォルトの名無しさん
2005/09/18(日) 00:44:33ところで、いい加減あっちに合流してここは下に落としたい。
ただでさえ過疎ってるんだから。
Pythonのお勉強 Part7
http://pc8.2ch.net/test/read.cgi/tech/1125159015/
0046デフォルトの名無しさん
2005/09/18(日) 23:53:15004742
2005/09/19(月) 23:06:27>>40さんの指摘通りですた。
要素が1つのタプルは tuple = (x, ) としないと作れないから、
>>40のは4番目と5番目、等しいんだorz
0048デフォルトの名無しさん
2005/09/19(月) 23:13:240049デフォルトの名無しさん
2005/09/21(水) 15:40:34ということでは。
0050デフォルトの名無しさん
2005/09/21(水) 18:25:47> r = Rect(0,0,10,10)
> tr = (5,5,10,10)
> r.colliderect(tr)
1
> tr = ((5,5),(10,10))
> r.colliderect(tr)
1
> tr = ((5,5,10,10),)
> r.colliderect(tr)
1
> tr = (((5,5,10,10),),)
> r.colliderect(tr)
1
> tr = ((5,5,10),10)
> r.colliderect(tr)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: Argument must be rect style object
((5,5),(10,10))も
((5,5,10,10),)も
(((5,5,10,10),),)でも問題なし
0051デフォルトの名無しさん
2005/09/22(木) 01:42:11おほ、それは失礼しました。
0052デフォルトの名無しさん
2005/09/22(木) 11:29:29Python信者はどうしてLispを目の敵にするんですか?
正直かなりキモい言動で、Pythonの普及に水を差していると思うのですが。
Python信者はRuby信者がPerlに対してそうであるように、
Lispに激しいコンプレックスを感じているヒステリックな集団なのですか?
0053デフォルトの名無しさん
2005/09/22(木) 11:36:34⊂⌒( ・ω・) はいはいわろすわろす
`ヽ_っ⌒/⌒c
⌒ ⌒
0054デフォルトの名無しさん
2005/10/12(水) 08:18:550055デフォルトの名無しさん
2005/10/12(水) 11:32:010056デフォルトの名無しさん
2005/11/01(火) 16:31:21名無しさん同士で問題を出して解きあう下記のスレからの移動です
こちらではPythonをメインに多言語で解きあいたいと思っています(Ruby含む)
知識拡充が主目的ですのでトリッキーな方法や言語ごとのマナーなど
多彩な情報を交換できればと思っています
大まかなスレの流れ
誰かが問題を出す
→答えを考えて書き込む
→それぞれ思い思いの視点で採点する(または便乗質問する)
→話題が収束する頃に次の問題を出す
現在は問題のストックがないのでC言語用に出題された問題(下記のwikiにまとめてあります)を
解いていきます。みなさんもやってみてください
他の人が解いていても、色々なやり方を見るのは勉強になるので是非書き込んでください
また、Wiki以外でも良い問題集があれば教えてください(パイソンチャレンジは素晴らしい!)
そして気軽に問題を出したり回答にコメントをつけてください
それではPythonユーザーの方もそれ以外の方もみなさんよろしくお願いしますm(_ _)m
関連スレ
おまいら!今日からC言語を学んでいくぞー!パート2
http://pc8.2ch.net/test/read.cgi/tech/1128637438/
まとめwiki(C言語用)
http://gamdev.org/w/?%5B%5B%A4%AA%A4%DE%A4%A4%A4%E9%A1%AA%BA%A3%C6%FC%A4%AB%A4%E9C%B8%C0%B8%EC%A4%F2%B3%D8%A4%F3%A4%C7%A4%A4%A4%AF%A4%BE%A1%BC%A1%AA%A5%D1%A1%BC%A5%C82%5D%5D
0057前スレから転載
2005/11/01(火) 16:35:37わかったから初心者どもはまず”HelloWorld!”を画面に出すプログラムを作りやがれ
【言語】
python
【回答】
print '”HelloWorld!”'
0058前スレから転載
2005/11/01(火) 16:36:151から50までの和を計算して表示
【言語】
python
【回答】
sum=0
for i in range(51):
sum+=i
print sum
0059前スレから転載
2005/11/01(火) 16:36:56ファイルから数字を読み込み大きい数から順に並べて画面に表示するプログラムを書け
http://gamdev.org/w/?%5B%5B%A4%AA%A4%DE%A4%A4%A4%E9%A1%AA%BA%A3%C6%FC%A4%AB%A4%E9C%B8%C0%B8%EC%A4%F2%B3%D8%A4%F3%A4%C7%A4%A4%A4%AF%A4%BE%A1%BC%A1%AA%5D%5D#content_1_18
【言語】
python
【回答】
filename='numbers.txt'
num=[]
fp=open(filename)
for line in fp:
num.append(int(line))
fp.close
#print sorted(num)
for i in range(len(num)):
for j in range(i):
if num[i]<num[j]:
tmp=num[i]
num[i]=num[j]
num[j]=tmp
print num
0060デフォルトの名無しさん
2005/11/01(火) 16:55:43print sum(range(51))
0061デフォルトの名無しさん
2005/11/01(火) 16:59:32print list(reversed(sorted((int(n.strip()) for n in file('numbers.txt').readlines() if n.strip()))))
0062デフォルトの名無しさん
2005/11/01(火) 17:08:55print 51*50/2.0
0063デフォルトの名無しさん
2005/11/01(火) 18:31:100064デフォルトの名無しさん
2005/11/01(火) 18:42:22これだとcloseされないんじゃない?
0065デフォルトの名無しさん
2005/11/01(火) 18:54:09from math import *
from Tkinter import *
def traj_generator(segments, ix, iy, iu, iv):
x, y, u, v = (ix, iy, iu, iv)
while 1:
minm, mink, s, t, p, q = 1.0, 2**31, 0, 0, 0, 0
for ss, tt, pp, qq in segments:
if not pp*(y-tt)==qq*(x-ss):
m = (u*tt-v*ss+v*x-u*y)/(v*pp-u*qq)
k = v and (tt+m*qq-y)/v or (ss+m*pp-x)/u
if 0<m<=1 and 0<k<=mink:
minm, mink, s, t, p, q = m, k, ss, tt, pp, qq
VS, SS = u*p+v*q, p*p+q*q
nx, ny, nu, nv = s+minm*p, t+minm*q, 2*(VS/SS)*p-u, 2*(VS/SS)*q-v
x, y, u, v = nx, ny, nu, nv
yield nx, ny, nu, nv
translate = lambda x, y, u, v: (25+x, 125-y, u, 0-v)
box_seg = [ (0, 0, 100, 0), (100, 0, 0, 100), (100, 100, -100, 0), (0, 100, 0, -100), (50, 0, 0, 50)]
initial = (0, 0, 0.31, 1)
traj = traj_generator(box_seg, *initial)
cur = translate(*initial)
root = Tk()
canvas = Canvas(root, width=150, height=150); canvas.pack()
canvas.create_rectangle(25, 25, 125, 125)
canvas.create_line(75, 75, 75, 125)
for i in range(10):
px, py, pu, pv = cur
nx, ny, nu, nv = translate(*traj.next())
canvas.create_line(px, py, nx, ny)
cur = nx, ny, nu, nv
root.mainloop()
0066デフォルトの名無しさん
2005/11/01(火) 21:48:01import re
ptn_list = [(re.compile(p), t) for (p, t) in
((r'(if|else|while|const|var|procedure)(?!¥w)', 'keyword'),
(r'[a-zA-Z]¥w*', 'name'), (r'¥d+(¥.¥d*)?', 'number'),
(r'[=+¥-*/]{1,2}', 'operator'), (r'[{}();]', 'delimiter'),
(r'[¥s]+', 'punctuation'))]
def token_generator(s):
cursor=0
while cursor<len(s):
found=None
for ptn, typ in ptn_list:
found = ptn.match(s, cursor)
if found: break
if not found: raise ValueError, "Lexical Error at %d." %(cursor)
token = s[found.start():found.end()]
cursor = found.end()
yield typ, token
code = """
const repeat=2**10;
var yousayso;
procedure isayso {
while (yousayso==1){
if repeat-- {
repeat /= 7 + 1;
}
}
"""
tg = token_generator(code)
for ttype, value in tg:
print "token: %s, value: %s" %(ttype, [value])
0067デフォルトの名無しさん
2005/11/01(火) 22:08:26from random import seed, choice
def hand_generator():
hands=list('@V%') # rock, scissors, paper respectively
seed()
while 1: yield choice(hands)
msgdict = {0:'you win!', 1:'you lose...', 2:"that's even!"}
ratings = {'@': 'V%@', 'V': '%@V', '%': '@V%'}
for hand in hand_generator():
r = raw_input('enter your hand (@: rock, V: scissors, %:paper)').strip()
print "My hand is %s," %(hand),
if r and r in '@V%':
print msgdict[ratings[r].index(hand)]
else:
print "Eh?"
0068デフォルトの名無しさん
2005/11/01(火) 22:20:26print 1+sum((0-(2*n+1)*((-1)**n) for n in range(1, 50)))
0069デフォルトの名無しさん
2005/11/01(火) 22:33:02for line in sys.stdin:
line = line.replace("&", "&")
line = line.replace("<", "<")
line = line.replace(">", ">")
print line.replace(" ", " ").strip()
0070デフォルトの名無しさん
2005/11/01(火) 22:37:23import itertools, re
print sorted([list(v) for (k, v) in itertools.groupby(sorted(int(s) for s in re.findall('¥d+', raw_input("Enter several numbers: "))))], cmp=lambda x, y: cmp(len(x),len(y)), reverse=True)
# または
print sorted(int(s) for s in re.findall('¥d+', raw_input("Enter several numbers: ")))
0071デフォルトの名無しさん
2005/11/02(水) 14:38:420072デフォルトの名無しさん
2005/11/02(水) 14:45:19import re, sys
def trigon_type(values):
if (values[0]+values[1])<values[2]: # trigonometric inequality
return -1
else:
return len(set(values))
if __name__=="__main__":
while 1:
msg = "Provide five... no! Three numbers."
vals = sorted([int(i)
for i in re.findall('¥d+', raw_input(msg))
if i>0][:3])
if not len(vals)==3:
print >>sys.stderr, "Provide (more than) five... no! Three items."
else:
print trigon_type(vals)
0073デフォルトの名無しさん
2005/11/02(水) 16:18:28import re, random
newflags = lambda :[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
bingos = [[(i, j) for i in [0, 1, 2]] for j in [0, 1, 2]] + [[(j, i) for i in [0, 1, 2]] for j in [0, 1, 2]] + [[(0, 0), (1, 1), (2, 2)], [(2, 0), (1, 1), (0, 2)]]
judge = lambda f: len([f[p][q]*f[r][s]*f[t][u] for ((p, q), (r, s), (t, u)) in bingos if f[p][q]*f[r][s]*f[t][u] in (1, 8)])
def think(flg, turn):
if not flg[1][1]: return (1,1) # as theory
hands = [(i, j) for i in range(3) for j in range(3) if flg[i][j]==0]
if hands: return random.choice(hands)
return (-1, -1) # no hands left
def stage(flg):
print '¥n'.join([''.join([{0:'-',1:'o',2:'x'}[flg[i][j]] for j in range(3)]) for i in range(3)])
if __name__=="__main__":
print "Shall we play a game?"
flags = newflags()
winner = 0
while winner==0:
stage(flags)
pos = [int(i) for i in re.findall('[012]', raw_input("Your hand (ex. 1-2 for [1,2])"))[:2]]
if len(pos)<2 or flags[pos[1]][pos[0]]>0: print "eh?"; continue
flags[pos[1]][pos[0]] = 1
if judge(flags): winner=1; break # player win
i, j = think(flags, 2)
if (i, j)==(-1, -1): break # draw
flags[i][j] = 2
if judge(flags): winner=2; break # computer win
stage(flags)
print ("That's draw. How about chess?", "You win!", "I win!")[winner]
0074デフォルトの名無しさん
2005/11/02(水) 16:50:07import re, random
def judge(c, a):
return (len([True for i in range(3) if c[i]==a[i]]),
len([True for d in list(c) if d in ''.join(set(list(a)))]))
code = ''.join(str(random.choice(range(9))) for i in range(3))
while 1:
ins = re.findall('¥d{3}', raw_input("enter code?: "))[:1]
if not ins:
print "eh?"
continue
hits, blows = judge(code, ins[0])
if hits==3:
print "That's it!"
break
print "%d hits, %d blows." %(hits, blows)
0075デフォルトの名無しさん
2005/11/02(水) 17:01:02import re, random
def judge(c, a):
return (len([True for i in range(3) if c[i]==a[i]]),
len([True for d in list(c) if d in ''.join(set(list(a)))]))
code = ''.join(str(random.choice(range(9))) for i in range(3))
while 1:
ins = re.findall('¥d{3}', raw_input("enter code?: "))[:1]
if not ins:
print "eh?"
continue
hits, blows = judge(code, ins[0])
if hits==3:
print "That's it!"
break
print "%d hits, %d blows." %(hits, blows)
0076デフォルトの名無しさん
2005/11/02(水) 17:04:19judge = lambda s, enc: unicode(s, enc)==''.join(reversed(list(unicode(s, enc))))
0077デフォルトの名無しさん
2005/11/02(水) 19:27:38>大まかなスレの流れ
>誰かが問題を出す
>→答えを考えて書き込む
>→それぞれ思い思いの視点で採点する(または便乗質問する)
>→話題が収束する頃に次の問題を出す
出題されても無いのに答えるな。出題されないなら自分で出題しろ
仕切り直して超簡単な問題行くぞ
【問題】
標準ライブラリを使ってsin 60°を求めろ
0078デフォルトの名無しさん
2005/11/02(水) 19:35:580079デフォルトの名無しさん
2005/11/02(水) 19:51:38import math
math.sin(math.radians(60))
もしくはmath.sin(math.pi/3)
008065-68,70,72-76
2005/11/02(水) 19:54:210081デフォルトの名無しさん
2005/11/02(水) 20:38:120082デフォルトの名無しさん
2005/11/02(水) 20:46:130083デフォルトの名無しさん
2005/11/02(水) 20:47:220084デフォルトの名無しさん
2005/11/02(水) 20:57:080085デフォルトの名無しさん
2005/11/02(水) 21:05:41熱いな。
0086デフォルトの名無しさん
2005/11/02(水) 21:12:520087デフォルトの名無しさん
2005/11/02(水) 22:27:06[お題]
摂氏を入力すると、華氏で出力。華氏を入力すると、摂氏で出力。
動作例: "41F"を入力すると"5C"、"5C"を入力すると"41F"と表示する。
※ちなみに、C:摂氏, F:華氏, F=9/5*C+32, C=5/9*(F-32) だってさ。
というコードを1行で。セミコロン使用禁止、import行は行数に含まない
0088デフォルトの名無しさん
2005/11/02(水) 23:26:08enter temparature:37C
98F
0089デフォルトの名無しさん
2005/11/02(水) 23:36:11009087
2005/11/02(水) 23:44:41出題者はこんなの考えてました。
print [lambda s:{"F":lambda f:str(5.0/9.0*(f-32.0))+"C",\
"C":lambda c:str(9.0/5.0*c+32.0)+"F"}[s[-1]](float(s[:-1]))]\
[0](raw_input(">"))
0091デフォルトの名無しさん
2005/11/03(木) 06:16:45と,自分で書いてて思った
0092デフォルトの名無しさん
2005/11/03(木) 09:04:08ぐらいのゆるい気分で次行ってみよう。
0093デフォルトの名無しさん
2005/11/03(木) 09:14:53ワンライナーと同価の「読めばそのまま解説になる」コードも一緒に書いてくれるといいな
と初心者は思った
0094デフォルトの名無しさん
2005/11/03(木) 10:35:180095デフォルトの名無しさん
2005/11/03(木) 13:24:510096デフォルトの名無しさん
2005/11/03(木) 13:48:52【問題】
テキストファイル”text.txt"の中にPythonと言う文字がいくつ含まれるか調べるプログラムを作って欲しいお
0097デフォルトの名無しさん
2005/11/03(木) 14:21:270098デフォルトの名無しさん
2005/11/03(木) 16:12:48"""sin(60) をべき級数で求める
"""
pi = 3.1415926535897931
def factorial(k):
"""k の階乗を再帰で求め,float で返す.
"""
if k>0: # 再帰
return k*factorial(k-1)
else: # 0! := 1
return 1.0
(つづく)
0099デフォルトの名無しさん
2005/11/03(木) 16:13:24def naive_sin(x, order=15):
"""べき級数和による正弦の計算
sin(x) のべき級数展開,sinx = x-(x^3/3!)+(x^5/5!)...(-1)^(n-1)(x^(2n-1)/(2n-1)!)+..
によって n=order までの近似を求める.ここで x はラジアンである.
"""
partial_sum = 0
for n in xrange(1, order+1):
fn = factorial(2*n-1)
partial_sum += (-1)**(n-1)*(x**(2*n-1)/(fn))
return partial_sum
if __name__=="__main__":
deg = 60.0
rad = 2*pi*deg/360.0
print naive_sin(rad)
from math import sin # compare with math.sin()
print sin(rad)
0100デフォルトの名無しさん
2005/11/03(木) 16:30:10# 入力
instring = raw_input("enter temparature")
import re
# (数字), (F または C) からなるグループを instring から探し,
# [('92', 'F'), ('33', 'C'), ...] のようなリストを返す.
groups = re.findall(r'(¥d+)([FC])', instring)
# 上のリストの最初の要素 (実際には一要素しかない) を取り出し,
# 数字部分と単位部分に分ける
deg, unit = groups[0]
# deg が摂氏の場合の計算式
f2c_result = "%dC" % (int(deg)-32)*5/9.0
# deg が華氏の場合の計算式
c2f_result = "%dF" % (9*int(deg)/5.0)+32
# unit が 'F' なら華氏→摂氏, 'C' なら摂氏→華氏
result_dict = {'F': f2c_result, 'C': c2f_result}
result = result_dict[unit]
# 出力
print result
0101デフォルトの名無しさん
2005/11/03(木) 17:04:24おおっ、ありがとうございます
初心者なので>>86,87 を縛りなしで書いてみて>>88,90 をなんとなく理解しました
ちなみに自分のはこんなのになりました
正規表現オブジェクトの使い方がいまいち判ってないです
import re
tempre = raw_input("Tempreture? >")
match = re.match(r"^(\d+)(f|c)", tempre, re.I)
if match:
answer = (match.group(2).upper() == "C") and \
"%.2fF" % (9*float(match.group(1))/5+32) or \
"%.2fC" % (5*(float(match.group(1))-32)/9)
else:
answer = "invalid input"
print answer
0102デフォルトの名無しさん
2005/11/03(木) 17:13:35正規表現オブジェクトが分かってないなら、matchよりsearchを使った方がいい。
matchを使うと不幸になる。
0103デフォルトの名無しさん
2005/11/03(木) 17:32:30二つの違いが判然としていなかったのですが、いわれて調べてみるとリファレンスにあるんですね
http://www.python.jp/doc/nightly/lib/matching-searching.html
まだよくわかりませんが、気をつけるようにしてみます。
ありがとうございます。
0104デフォルトの名無しさん
2005/11/03(木) 17:55:37むしろ「違いを知っておいた方がいい.知らないと不幸になる」と教えたらいいんじゃないの.
0105デフォルトの名無しさん
2005/11/03(木) 18:18:30http://www.python.jp/Zope/articles/tips/regex_howto
これを読んでおけばよいかと
0106101
2005/11/03(木) 19:37:43ありがとうございます。「ありがちな問題」のところにわかりやすい説明がありました。
そもそもmatch()では"^"が不要であるし、search()で代用できそうなmatch()が何故あるのかという点も理解できました。
0107デフォルトの名無しさん
2005/11/03(木) 21:29:152chのトリップを生成するプログラム。トリップの作り方はぐぐって調べてください。
動作例: 入力"python"->出力"UXGGyRWL3c"
Windows環境の場合は↓これが必要かも。
ttp://carey.geek.nz/code/python-fcrypt/
さくっと作ると10行、上手く書けば3行ぐらいになると思います。1行も出来るはず
0108デフォルトの名無しさん
2005/11/03(木) 22:25:25if t == "python":
print "UXGGyRWL3c"
0109デフォルトの名無しさん
2005/11/03(木) 23:50:17テストルーチンを書いたつもりと解釈してやるから出直してこい。
0110デフォルトの名無しさん
2005/11/04(金) 02:27:04なんか長くなっちゃった。しかも旧鯖用のを書いちゃったみたい。
char2saltcharのところはもっとやり様がありそうな気がするんですが、
とりあえず貼っちゃいます。
import sys, crypt
def char2saltchar(char):
codenum = ord(char)
if (codenum <= 45) or (codenum >= 123) :
codenum = 46
elif (codenum >= 58) and (codenum <= 64):
codenum = codenum - 58 + 65
elif (codenum >= 91) and (codenum <= 96):
codenum = codenum - 91 + 97
return chr(codenum)
def getsalt(key):
return "".join([char2saltchar(char) for char in key[1:3]])
def gettrip(key):
return crypt.crypt(key, getsalt(key))[-10:]
if __name__ == '__main__':
key = sys.argv[1]
print gettrip(key)
0111デフォルトの名無しさん
2005/11/04(金) 11:55:09from fcrypt import crypt
s="."*0x2e+"./0123456789ABCDEFGABCDEFGHIJKLMNOPQRSTUVWXYZabcdefabcdefghijklmnopqrstuvwxyz"+"."*132
k=raw_input("Key: ")+".h"
print crypt(k[:-2],s[ord(k[1])]+s[ord(k[2])])[-10:]
0112デフォルトの名無しさん
2005/11/05(土) 04:55:30どうやって実行したらいいんでしょうか?
コードはprint "Hello World!"だけで、ファイル名はtest.pyです。
Python.exeを起動した後にそのexeと同じ場所にtest.pyを置いた上で
>>>のプロンプトに test.pyでリターンもしくは python test.pyでリターンとしましたが
File "<stdin>"<line 1
python test.py
SyntaxError: invalid syntax
と出ました。
0113デフォルトの名無しさん
2005/11/05(土) 06:27:280114デフォルトの名無しさん
2005/11/05(土) 09:00:43コマンドプロンプトからだったんですね。起動できました。ありがとうございます。
あと少しUnicodeについてなんですが
>>> "あいう"
'あいう'
>>> u"あいう"
u'\x82\xa0\x82\xa2\x82\xa4'
>>> str(u"あいう")
'???¢??'
>>> str("あいう")
'あいう
>>> u"\x82\xa0"
u'\x82\xa0'
u←こいつはいったいなんの役割があるのでしょうか?
普通に"\x82\xa0"とすれば'あ'とでますが
uを付けるとコードになって出てきます。
自分では\x82などをuを付けることによって'あ'と表示させる働きがあると思ったのですが
違うみたいです。今いち働きが分かりません。
'
0115デフォルトの名無しさん
2005/11/05(土) 10:47:00>>> s
'\x82\xa0\x82\xa2\x82\xa4'
>>> len(s)
6
>>> u = u"あいう"
>>> u
u'\u3042\u3044\u3046'
>>> len(u)
3
u付けないと1文字=1バイトの ASCII 文字列
uつけたら1文字=2バイトの Unicode 文字列
0116デフォルトの名無しさん
2005/11/05(土) 10:48:14環境にあったエンコードを指定してやってください。
英語だけど、このページが超わかりやすいです。
http://diveintopython.org/xml_processing/unicode.html
英語読めなくてもコード見ればどういうことやってんのかわかると思います。
PyJUGの「日本語環境でのPython」もいちおう貼っとく
http://www.python.jp/Zope/articles/japanese/Python4Japanese-2
0117デフォルトの名無しさん
2005/11/05(土) 10:49:42普通に "\x82\xa0" とすれば,それはバイト列 82 a0 だから 'あ' と出る
u"\x82\xa0" とすれば,それはバイト列 00 82 00 a0 で 'あ' と違う
0118デフォルトの名無しさん
2005/11/05(土) 11:53:53ちょっと見てやって見たのですが結果がすこし違ってしまいました
>>> s = "あいう"
>>> s
'あいう'
>>> len(s)
6
>>> u = u"あいう"
>>> u
u'\x82\xa0\x82\xa2\x82\xa4'
>>> len(u)
6
当方WindowsXPのコマンドプロンプトなんですが環境の影響でしょうか?
0119デフォルトの名無しさん
2005/11/05(土) 11:56:53ご紹介ありがとうございます。勉強してみます。
それでご紹介いただいたサイトの日本語環境でのPythonに
あるサンプルを実際にやってみたのですが、ここでも
>>> print len('あいうえお')
10
>>> print len(u'あいうえお')
5
の所が
>>> print len(u'あいうえお')
10
になってしまいます。
0120デフォルトの名無しさん
2005/11/05(土) 12:52:45>> sys.getdefaultencoding()
'ascii'
になっていませんか?
0121デフォルトの名無しさん
2005/11/05(土) 13:03:23lib/site-packegesに作成するsitecustomize.py
の記述の所でしょうか?
ttp://lowlife.jp/nobonobo/zine/5/6.html
のサイトを参考に
import sys
sys.setdefaultencoding("utf-8")と定義しました。
後、こちらのサイトの
ttp://www.python.jp/Zope/download/JapaneseCodecs
JapaneseCodecを入れてみたのですが
>>> print u'あ'
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeError: MS932 encoding error: invalid character \x82
のようなかんじのエラーが出てしまいました。
もうよくわからないorz
0122デフォルトの名無しさん
2005/11/05(土) 14:50:22JapaneseCodecsは関係ないよ。
0123デフォルトの名無しさん
2005/11/05(土) 17:09:032.3 では、コンソール上での u"..." は常に ascii でユニコード化されるっぽい
utf-8 ではなく mbcs にして unicode("...") とすれば良い
0124デフォルトの名無しさん
2005/11/05(土) 18:46:09http://pc8.2ch.net/test/read.cgi/tech/1125159015/
0125デフォルトの名無しさん
2005/11/05(土) 19:11:382.3 の頃は CJKPython のほうが
いろいろお手軽に環境できてよかった
0126デフォルトの名無しさん
2005/11/05(土) 19:12:500127デフォルトの名無しさん
2005/11/05(土) 19:42:51問題2: 問題1で作った座標を2次元平面の点として、すべての点を内部か境界にもつ円のうち、
最小の半径を持つものの中心座標と半径を求めるプログラムを作れ。
0128デフォルトの名無しさん
2005/11/05(土) 19:44:12より、出題。
出題:コードブレーカー(ゲーム)を作りやがれ
難易度★★☆☆☆
コンピュータがランダムに3桁の数(以後、コード)を生成
プレイヤーはコンピュータの出すヒントを元にコードを推理していく
・コードは同じ数字を使用していない
・プレイヤーが3桁の数字を入力すると、コンピュータはヒントをひとつ出力
・ヒントの出し方は下記の通り
数字と桁が一致していれば、『ヒット』、数字は合っているが桁が違う場合は『ブロ ー』
(例)コード=135の場合
入力 ヒント
246・・・0ヒット 0ブロー
012・・・0ヒット 1ブロー
123・・・1ヒット 1ブロー
153・・・1ヒット 2ブロー
135・・・正解!
0129デフォルトの名無しさん
2005/11/05(土) 20:07:56それ75で解かれてたり。
条件に「クラスを使って」というのを追加してみるのはどうだろ?
0130デフォルトの名無しさん
2005/11/05(土) 21:00:14リスト内包表記が便利なのでつかってみたけど読みづらくなった。
---- kokokara ----
# -*- coding: cp932 -*-
import random
import math
#問題1
points = [(random.randint(0,100), random.randint(0,100)) for n in range(20)]
#問題2
#中心座標 = すべての点の重心 をもとめる
center = (sum((t[0] for t in hh))/len(points), sum((t[1] for t in hh))/len(points))
#半径 = centerとの距離が最長のもの をもとめる
radius = math.sqrt(max((pow(x - center[0], 2) + pow(y - center[1], 2) for x,y in points)))
---- kokomade ----
0131デフォルトの名無しさん
2005/11/05(土) 21:20:01> #問題2
> #中心座標 = すべての点の重心 をもとめる
そうじゃない。
仮に、19個の点がすべて原点(0,0)で、1個だけ(100,0)だったら
中心(50,0)、半径50の円が答えになるけど、重心で考えたらそうはならないだろ?
0132デフォルトの名無しさん
2005/11/05(土) 21:44:15仮の中心を移動させれば良いのかな?
0133デフォルトの名無しさん
2005/11/05(土) 22:01:28全ての点が仮の球に内包されているか調べ、
外にある場合は点が内包されるように球の拡大を繰り返す。
みたいなのが"そこそこ"の解法じゃなかったっけ。
最適解とかあるのそれ?
0134デフォルトの名無しさん
2005/11/05(土) 22:08:26import random
import re
N = 3
def uniq(L):
R = []
for i in L:
if i not in R:
R.append(i)
return R
def make_code():
while 1:
s = str(random.randint(0, 10**N))
if len(uniq(s)) == N:
return s
def make_trial(k):
while 1:
print "%s回目のトライ> " % k,
s = raw_input()
s = re.sub("[^0-9]", "", s)
if len(s) != N:
print "%d桁の数字を入れてね" % N
else:
return s
0135デフォルトの名無しさん
2005/11/05(土) 22:09:01hit = sum([1 for (a,b) in zip(A,B) if a == b])
blow = sum([1 for (a,b) in zip(A,B) if a != b and a in B])
return (hit, blow)
def main():
k = 1 ; code = make_code()
print "答えは%sです" % code
print "答えは%s桁の数です(同じ数字は使ってません)" % N
while 1:
trial = make_trial(k)
(hit, blow) = hitblow(code, trial)
if hit == N:
print "正解!" ; return
else:
print "%sヒット %sブロー" % (hit, blow)
k += 1
main()
0136デフォルトの名無しさん
2005/11/05(土) 23:51:090137デフォルトの名無しさん
2005/11/06(日) 01:15:48from random import random
TRYNUM = 10000000
points = ((random(), random()) for n in range(TRYNUM))
circleareacounter = 0
for point in points:
if point[0] ** 2 + point[1] ** 2 <= 1:
circleareacounter += 1
pi = circleareacounter * 4.0 / TRYNUM
print pi
0138デフォルトの名無しさん
2005/11/06(日) 01:22:46そうでしたか。あれからいろいろやってみてファイルからならu'あ'のlenが1と結果が
出たのですが、コンソールからだと途中でエラーが出るという現象にあってまた悩んでいました。
utf-8はmbcsにしました。unicode("...")というのはどの部分のことなのかちょっとよく
分からないですが。
>>124
すみません。昨日から始めたのでpythoneについて0から教えてくださいというスレが
最適だと思い書き込んでしまいました。以後はご紹介いただいたスレでがんばりたいと
思います。
>>125
2.4をインストールしてみました。
u'あ'の文字列の長さが2ではなくきちんと1になりました。
0139デフォルトの名無しさん
2005/11/06(日) 01:34:410140デフォルトの名無しさん
2005/11/06(日) 01:37:28前のバージョンは2.3だったと思います。
こちらのpython234jp-20040927.exeでインストールさせていただきました。
0141デフォルトの名無しさん
2005/11/06(日) 02:54:21スバラシイ!
出題者はx**2を誤ってx^2と書いていたことは秘密。
0142デフォルトの名無しさん
2005/11/06(日) 03:38:44これはちょっと汚ないなあ。
とりあえず、数字を重複させたくないなら、
strnumseq = map(str,range(10))
s = "".join((strnumseq.pop(random.randrange(10-x)) for x in range(N)))
で一発。
0143デフォルトの名無しさん
2005/11/06(日) 09:43:47from random import random
k=0
n=10000
for i in range(n):
r=(random()**2+random()**2)**0.5
if r<1:
k=k+1
print "pi=%2.4f"%(4.0*k/n)
ここを参考にしたお
ttp://e-words.jp/w/E383A2E383B3E38386E382ABE383ABE383ADE6B395.html
0144デフォルトの名無しさん
2005/11/06(日) 10:16:21''.join(str(r) for r in random.sample(range(10), 10))
0145デフォルトの名無しさん
2005/11/06(日) 10:37:09> r=(random()**2+random()**2)**0.5
> if r<1:
わざわざ "**0.5" してる意味が無いです。 お
r=(random()**2+random()**2)
で十分。 お
0146デフォルトの名無しさん
2005/11/06(日) 11:05:10スペースが潰れてると見づらいから、
書き込むときはお勉強スレで出てたこれを使おうよ
import sys
src = file(sys.argv[0])
dst = file(sys.argv[0]+".txt", "w")
for line in src:
line = line.replace("&", "&")
line = line.replace("<", "<")
line = line.replace(">", ">")
dst.write(line.replace(" ", " ").strip()+"\n")
src.close()
dst.close()
0147143
2005/11/06(日) 13:03:22確かにルートは蛇足だったお、指摘してくれて嬉しいお
ちょと実験するお
半角スペース
2つの半角スペース
全角スペース
2つの全角スペース
0148デフォルトの名無しさん
2005/11/06(日) 13:26:510149デフォルトの名無しさん
2005/11/06(日) 14:59:400150デフォルトの名無しさん
2005/11/06(日) 15:13:010151デフォルトの名無しさん
2005/11/06(日) 15:24:230153デフォルトの名無しさん
2005/11/06(日) 17:28:50sys.argv[0] ではスクリプト自身を変換してしまうのでは。
でスペースのインデントもいれれるんだ。
初めて知った。ありがとお
0154デフォルトの名無しさん
2005/11/06(日) 17:42:030155デフォルトの名無しさん
2005/11/06(日) 20:44:51投稿したいソースファイルに>>146を追加して実行すればいいのさ。
win環境の人ならこっちのが便利だと思う。
ということで>>154の応用問題。
「投稿したいコード」と「変換コード」の両方が記述されている「ソースファイル」から
「変換コード」を除去し「投稿用のテキスト」だけの「ファイル」を生成するよう
>>146の「変換コード」に追加・修正せよ。
0156デフォルトの名無しさん
2005/11/06(日) 21:28:22コードじゃないけど、>>146をcontibution.pyという名前でセーブし、
投稿したいコードの先頭に、import contributionを追加。
0157デフォルトの名無しさん
2005/11/06(日) 21:54:18"""三角形 (p1, p2, p3) の垂心を求める"""
(x1, y1), (x2, y2), (x3, y3) = p1, p2, p3
a1, a2, b1, b2 = 2*(x2-x1), 2*(x3-x1), 2*(y2-y1), 2*(y3-y1)
c1, c2 = x1*x1-x2*x2+y1*y1-y2*y2, x1*x1-x3*x3+y1*y1-y3*y3
if (a1*b2-a2*b1)==0: # 頂点が直線上に並ぶ場合
return (max((x1, x2, x3))+min((x1, x2, x3)))/2, (max((y1, y2, y3))+min((y1, y2, y3)))/2
else:
return (b1*c2-b2*c1)/(a1*b2-a2*b1), (c1*a2-c2*a1)/(a1*b2-a2*b1)
import math
def circumcircle_generator(coords):
"""与えられた頂点を持つ全ての三角形から,全ての点を内包する外接円を返す"""
for p, q, r in [(coords[i], coords[j], coords[k]) for i in range(len(coords)) for j in range(i+1, len(coords)) for k in range(j+1, len(coords))]:
(cx, cy), (px, py) = orthocenter(p, q, r), p
RR = (cx-px)*(cx-px)+(cy-py)*(cy-py)
for i, (vx, vy) in enumerate(coords):
rr = (cx-vx)*(cx-vx)+(cy-vy)*(cy-vy)
if rr>RR: break # 円の外に点が見つかった
if i==len(coords)-1: # 全ての点が円内にある
yield (math.sqrt(RR), cx, cy)
import random, Tkinter
# 問題 1
z = zip(*((float(random.randrange(101)) for i in range(20)) for j in range(2)))
# 問題 2
circles = sorted(circumcircle_generator(z), key=lambda k: k[0])
print "Minimum circle: radius=%f, coord=(%f, %f)" %(circles[0])
0158デフォルトの名無しさん
2005/11/06(日) 21:55:25(上の続き)
canvas = Tkinter.Canvas(Tkinter.Tk(), width=120, height=120); canvas.pack()
for px, py in z: canvas.create_oval(px+9, py+9, px+10, py+10, fill="black")
for i, (r, cx, cy) in enumerate(circles):
canvas.create_oval(cx-r+10, cy-r+10, cx+r+10, cy+r+10, outline=(i and "black" or "red"))
canvas._root().mainloop()
0159デフォルトの名無しさん
2005/11/06(日) 21:56:330160デフォルトの名無しさん
2005/11/06(日) 21:59:170161デフォルトの名無しさん
2005/11/06(日) 22:23:240162デフォルトの名無しさん
2005/11/07(月) 00:41:460163デフォルトの名無しさん
2005/11/07(月) 09:54:12def greeting():
print "Hello World!"
def printSelf():
print open(__file__, "r").read()
if __name__ == "__main__":
printSelf()
0164デフォルトの名無しさん
2005/11/07(月) 13:31:16こんなのがあったよね.
0165デフォルトの名無しさん
2005/11/07(月) 15:05:43それじゃ駄目だよ。最小の円が三点を通るとは限らない。
例えば4つの点((10.0,50.0), (30.0,50.0), (20.0,51.0), (20.0,49.0))を含む
最小の円は中心(20.0,50.0)、半径10だけど、そのやり方では求められない。
0166デフォルトの名無しさん
2005/11/07(月) 16:11:31for i in range(len(coords))
for j in range(i, len(coords))
for k in range(j, len(coords)))
でどう?
0167165
2005/11/07(月) 17:07:14#あと細かい事で悪いけど最初の関数で求めてるのは垂心じゃなく外心だよね。
0168デフォルトの名無しさん
2005/11/09(水) 12:50:000169デフォルトの名無しさん
2005/11/09(水) 21:27:560170デフォルトの名無しさん
2005/11/09(水) 21:41:530171デフォルトの名無しさん
2005/11/09(水) 21:48:530172デフォルトの名無しさん
2005/11/09(水) 22:49:56問題1: ログインして何MB使用したか取得せよ。
https://www.google.com/accounts/ServiceLogin?service=mail
または、
問題2: ログインしてYahooポイントを取得せよ。
http://login.yahoo.co.jp/config/login
0173デフォルトの名無しさん
2005/11/09(水) 23:09:05先生、Gmail持ってないのでください
0174デフォルトの名無しさん
2005/11/10(木) 08:10:28垢持ってないと面白くもなんともないんですが。
0175デフォルトの名無しさん
2005/11/10(木) 16:37:17なんなのでしょうか? ちょっと調べたところ,
1. cygwin の python
2. ActivePython
3. PyJUG にある日本語環境 Python
がありました.1 と 2 は 2.4,3 は 2.3 ベースなので新しい方がいいかなと思ったの
ですが,日本語が使えないのは嫌だなぁとも思います.この違いを猫でもわかるよう
に噛み砕いて説明してくださると大変ありがたいです.
あと,プログラムも日本語を扱うものがあるとうれしいかも.
ということで,自分じゃできない問題を出します.
【出題】 日本語(文字コードは任意)用 wc を作りなさい.必要なモジュールの
インストール方法も記述のこと.
0176デフォルトの名無しさん
2005/11/10(木) 17:54:44クソマルチが…
0177デフォルトの名無しさん
2005/11/10(木) 23:02:44import sys,re,codecs
prog_u_wd=re.compile(u"\s+")
src=codecs.getreader("CP932")(file(sys.argv[1])).read()
chars=len(src)
lines=src.count("\n")
words=len(prog_u_wd.findall(src))
print "c:%d, l:%d, w:%d" %(chars,lines,words)
0178デフォルトの名無しさん
2005/11/11(金) 00:36:13腹を斬って死ね
地獄の業火で焼かれろ
0179デフォルトの名無しさん
2005/11/11(金) 00:57:31str.join("", random.sample("0123456789", N))
0180デフォルトの名無しさん
2005/11/11(金) 14:50:05よかったら日本語関連の問題教えて。
cygwin の python 2.4.1 で次を実行すると
>>> a=["あ","い","う"]
>>> print a[0]
あ
>>> print a
['\x82\xa0', '\x82\xa2', '\x82\xa4']
となります。この print a の結果を ["あ","い","う"] と
表示させることってできないんでしょうか?
0181デフォルトの名無しさん
2005/11/11(金) 15:09:200182デフォルトの名無しさん
2005/11/11(金) 15:54:51できないぽい
0183デフォルトの名無しさん
2005/11/11(金) 17:13:28print (','.join(['"%s"' % x for x in a])).join(('[',']'))
0184デフォルトの名無しさん
2005/11/11(金) 17:29:37普通にはできないっぽい。どうしても必要なら、 >>181 みたいに
'['+a[0]+','+...+']'
という文字列を返す関数を書くか、PyJUG にある日本語Python
を使うべし。(こっちではちゃんと表示されました)
>>175
wc はいいとして、始めに入れる Python 環境をどうするかって
結構重要でいい質問だと思うけど。(何しろ0から教えてなんだし)
一番の違いは python が何でコンパイルされているかでしょう。
cygwin版 ⇒ 当然 gcc
日本語Python、ActivePython ⇒ MSC
なので、新しいモジュールインストール時に MSC のコンパイラが
ないと下の2つは辛いかも。ただし、下の二つには Windows 用の
拡張モジュールが使えるという利点があります。Python から Excel を
立ち上げるとか普通にできておもしろいです。 ActivePython は始めから
この機能が使えます。(当たり前か) 日本語Python は後から追加が必要
だけど MSC は不要です。ただ、PyJUG に置いてあるのは少し古いので
ちゃんと最新版を入れた方がいいでしょう。
ということで。。。
とにかく日本語をトラブルなく使いたい!⇒日本語Python
2.4 を使いたい。MSC は持ってない。⇒cygwin Python
Windows 機能を使いたい。⇒日本語Python、 ActivePython
となると思います。(ちなみに私は普段 ActivePython 使ってます)
あと、Mark Hammond のホームページをみると Python for .NET
というのがありますね。これは使ったことがないので、もし使ったこ
とのある人がいたらレポートよろ。
0186デフォルトの名無しさん
2005/11/11(金) 18:26:17import sys, types, __builtin__
def pstr(x):
if isinstance(x, types.StringType):
return '"%s"' % x
elif isinstance(x, types.UnicodeType):
return 'u"%s"' % x.encode("cp932")
else:
return `x`
def displayhook(o):
__builtin__._ = None
if isinstance(o, types.ListType):
print "[%s]" % str.join(", ", [pstr(i) for i in o])
else:
print `o`
__builtin__._ = o
sys.displayhook = displayhook
L = [u"日本語", "あ", [u"い", "う"], 12345]
上をロードして,L と打ってリスト L を表示させると(print L じゃダメ)
一部日本語で出てくる
0187デフォルトの名無しさん
2005/11/12(土) 12:50:22[(a_1,b_1,c_1, ...), (a_2,b_1,c_1,...), ..., (a_n,b_1,c_1,...), (a_1,b_2,c_1,...), ..., (a_2,b_2,c_1,...), ..., (a_k,b_l,c_m,...)]
のように,それぞれから1つづつ取ってきたリストを簡単に生成する方法を教えてください
0188デフォルトの名無しさん
2005/11/12(土) 13:47:28zip(A,B,C)
と
map(None,A,B,C)
を試してみそ
0189187
2005/11/12(土) 14:13:28それだと添え字が揃ってしまいませんか?
A = [1,2,3], B = [4,5] から [(1,4), (2,4), (3,4), (1,5), (2,5), (3,5)] を作りたいのですが。
0190187
2005/11/12(土) 14:18:16a in A と 次の for b in B そのまま続けて書くのが思いつかなかったのですが、やったら出来ました。お騒がせしました。
0191デフォルトの名無しさん
2005/11/12(土) 15:29:41ゴメン、よく読んでなかった。
190のやり方でもいいと思うけど、少し使いやすい関数にしてみた。
def combi(A,B):
if isinstance(A[0], tuple):
return [a + (b,) for a in A for b in B]
else:
return [(a , b) for a in A for b in B]
def combination(*lists):
return reduce(combi,lists)
A=[1,2,3]
B=[4,5]
C=[6,7]
print combination(A,B,C)
0192デフォルトの名無しさん
2005/11/12(土) 16:30:080193191
2005/11/12(土) 17:53:39>>187の要望を見て、読み込むリストの個数が不定だと思ったからああ書いたの。
>>190の書き方だとリストの個数(A,B,Cの3つとか)が決まってないと駄目でしょ?
def combination(lists)と書き換えとけば、例えば、なんかのデータを読んで
lists=[[1,2],[3,4],[5,6,7],[8,9,10],,,(不定長)]という配列を得ても、
combination(lists)でいける。
0194デフォルトの名無しさん
2005/11/14(月) 18:22:01リスト [['Python','import'],['Python','sys'],['Python','re'],['Perl','use'],['Perl','require']] から
辞書 {'Python': ['import', 'sys', 're'], 'Perl': ['use', 'require']} を
出来るだけ短いスクリプトで作ってみれ。
0195デフォルトの名無しさん
2005/11/14(月) 18:45:01d = {}
for lng,lib in l:
if lng not in d:
d[lng] = []
d[lng].append(lib)
print d
何も考えずにやったらこんな感じになた
0196194
2005/11/14(月) 19:13:48for lng,lib in l:
d.setdefault(lng, []).append(lib)
キーが無い時の処理を
d[lng] = [lib]
としてたので、setdefaultで上手くいかなかったんです
どう見ても完璧です
本当にありがとうございました
0197デフォルトの名無しさん
2005/11/15(火) 00:51:520198194
2005/11/15(火) 02:29:13Pythonのプログラムテクニックに関わる実践的な問題になると思ってこっちに書いた
スレの流れ的には、こっちが合ってると思った
気分悪くしたらごめんなさい
0199デフォルトの名無しさん
2005/11/15(火) 03:13:33みんなで違う方法で解く、なんていう楽しみももう、あまりないし。
ともあれ、乙です。
0200デフォルトの名無しさん
2005/11/15(火) 07:00:42l = [['Python','import'],['Python','sys'],['Python','re'],['Perl','use'],['Perl','require']]
dict((i[0], [j[1] for j in i[1]]) for i in __import__('itertools').groupby(sorted(l, key=lambda x: x[0]), lambda x: x[0]))
0201デフォルトの名無しさん
2005/11/15(火) 08:17:580202デフォルトの名無しさん
2005/11/15(火) 20:43:520203デフォルトの名無しさん
2005/11/15(火) 20:44:370204デフォルトの名無しさん
2005/11/18(金) 13:34:20ワンライナーってpythonの意味が無いような
0205デフォルトの名無しさん
2005/11/18(金) 14:44:24まあ、あえて普通な解き方を書き込む人が少ないのかも。
というわけで、どノーマルな解き方も希望します。
0206デフォルトの名無しさん
2005/11/18(金) 15:47:57「lambdaは読みにくいからやめて」
「リスト内包やジェネレータは読みにくいからやめて」
Pythonなら誰が書いても読みやすいコードになるってのは幻想だなw
0207デフォルトの名無しさん
2005/11/18(金) 15:57:530208デフォルトの名無しさん
2005/11/18(金) 16:39:360209デフォルトの名無しさん
2005/11/18(金) 17:27:49大仁田とかハッスルみたいなもんだ。
0210デフォルトの名無しさん
2005/11/18(金) 20:21:350211デフォルトの名無しさん
2005/11/18(金) 21:20:510212デフォルトの名無しさん
2005/11/18(金) 23:33:40[問題]
電話帳プログラムを作る。
ttp://gamdev.org/w/?%5B%5B%A4%AA%A4%DE%A4%A4%A4%E9%A1%AA%BA%A3%C6%FC%A4%AB%A4%E9C%B8%C0%B8%EC%A4%F2%B3%D8%A4%F3%A4%C7%A4%A4%A4%AF%A4%BE%A1%BC%A1%AA%5D%5D#content_1_39
[おすすめモジュール]
shelve
0213デフォルトの名無しさん
2005/11/19(土) 20:43:28import shelve
d=shelve.open("tel.txt")
while 1:
print"Search(0) Add(1) Delete(2) End(3)"
f=input()
if f == 0:
print "Name?"
name = raw_input()
flag=d.has_key(name)
if flag == 1:
print name,d[name]
else:
print "Not found"
tel=d[name]
elif f==1:
print "Name?"
name=raw_input()
print "Tel?"
tel=raw_input()
d[name] = tel
elif f == 2:
print "Name?"
name = raw_input()
del d[name]
elif f == 3:
break
d.close()
0214デフォルトの名無しさん
2005/11/19(土) 20:52:140215デフォルトの名無しさん
2005/11/19(土) 21:27:06なんかいろいろインデントが変だよ。
将来の為にもユーザーからの入力はsys.stdin.readline()を使っといたほうがいいかも。
あと、それわざわざinput()使って(evalして)る意味がないんで、
f = sys.stdin.readline().strip()
にしてf == '0'とか評価するほうがいいと思う。
flagのとこは
if d.has_key(name) is True:
がPython的。
0216デフォルトの名無しさん
2005/11/19(土) 21:58:070217デフォルトの名無しさん
2005/11/19(土) 22:12:25> >>213
> なんかいろいろインデントが変だよ。
漏れは普通だと思うんだけど。 >213 は インデント=4スペース でやってるように見える。
0218デフォルトの名無しさん
2005/11/19(土) 23:03:19どういうこと?
if flag == 1:の次の行のインデント、
また、それに対応してるハズのelse:の場所とか
elif f == 3:
の行とか、指摘するのもアレだが、そもそもこれ構文エラー起こすでしょ。
ところで、
tel=d[name]
この行も謎だなあ。
0220212
2005/11/20(日) 00:05:28俺はこんなふうにしてみた。
# coding: sjis
# コマンド a:追加,d:削除,s:検索,l:リスト,Ctrl+C:終了
import sys,shelve
cmds={
"a":lambda tel:"".join([tel.update({raw_input("name>"):raw_input("tel>")}) or "OK."]),
"d":lambda tel:"del %s"%tel.pop(raw_input("name>")),
"s":lambda tel:"tel: %s"%tel[raw_input("name>")],
"l":lambda tel:"".join(map(lambda x:"%s:%s\n"%x,sorted(tel.items()))),
}
telephone=shelve.open("telephone.dat")
while 1:
try: print cmds[raw_input("cmd>")](telephone)
except KeyError: print "Error."
except KeyboardInterrupt: break
telephone.close()
0221213
2005/11/20(日) 00:09:49import shelve
d=shelve.open("tel")
while 1:
f=raw_input("Search(0) Add(1) Delete(2) End(3)")
if f == '0':
name=raw_input("Name?")
if d.has_key(name) == True:
print name,d[name]
else:
print "Not found"
elif f=='1':
name=raw_input("Name?")
tel=raw_input("Tel?")
d[name] = tel
elif f == '2':
name = raw_input("Name?")
del d[name]
elif f == '3':
break
0222デフォルトの名無しさん
2005/11/20(日) 00:29:29メリットデメリットがあったりするの?
0223デフォルトの名無しさん
2005/11/20(日) 05:41:03使われるかはプラットフォームによって違う.その他にも
ttp://www.python.jp/doc/nightly/lib/node76.html
のような制限がある.
pickleで辞書を永続化する方法はプラットフォーム依存性が少ないけど,データサイズが
大きくなるとロード/セーブに時間がかかるし,当面使わないオブジェクトまでメモリに
読み込むので効率が悪い.Durus
ttp://www.mems-exchange.org/software/durus/
はこの点を解消してるらしい.
0224デフォルトの名無しさん
2005/11/22(火) 08:30:090225デフォルトの名無しさん
2005/11/22(火) 09:08:23あなたの名前は?
と入力待ちにして、例えばTarouと入力したら
Hello, Tarou!! I love you 4 ever!
と出力されるようにする課題
0226デフォルトの名無しさん
2005/11/22(火) 10:09:57解きたい問題がないならなぜ言語覚える必要があるのか。
0227デフォルトの名無しさん
2005/11/22(火) 11:25:43ls = [['Python', 'import'], ['Python', 'sys'], ['Python', 're'], ['Perl', 'use'], ['Perl', 'require']]
print dict([[x[0],[y[1] for y in ls if y[0] == x[0]]] for x in ls])
どんな方法でも良いなら、これも解だと思う。dictかけてる内包表記のリストには自分で書いててちょっとヒイタ。
setsを使ったらもうちょっとマシになるのかな?
0228227
2005/11/22(火) 11:47:240229デフォルトの名無しさん
2005/11/22(火) 22:56:36みたいなチューリングマシンを(できれば30行以内で)。
0230デフォルトの名無しさん
2005/11/23(水) 00:07:55解説ありがとー^-^
参考にさせて頂きました。
0231デフォルトの名無しさん
2005/11/23(水) 10:24:10print "Hello," i "!! I love you 4ever!!"
あれ、なんで出来ないんだ!!教えて!
0232デフォルトの名無しさん
2005/11/23(水) 12:44:02>>> print "Hello," i , "!! I love you 4ever!!"
変数 i の後ろにカンマがないぞ。
0233デフォルトの名無しさん
2005/11/23(水) 12:49:14そのへんに気づき始めると理解速度が上がる。
0234デフォルトの名無しさん
2005/11/23(水) 12:54:03いや、iの前にもないだろ。
とりあえず、「,」で区切るのと「+」で連結する
方法を覚えておけばいいんでないの。
printが関数だったらこういう間違いは減りそうなんだが
0235デフォルトの名無しさん
2005/11/23(水) 12:55:340236デフォルトの名無しさん
2005/11/23(水) 13:24:410237デフォルトの名無しさん
2005/11/26(土) 05:59:34import string
char = string.digits + string.ascii_uppercase
pas = ""
for i in xrange(8):
pas += random.choice(char)
print pas
パスワード生成
0238デフォルトの名無しさん
2005/11/26(土) 09:33:45でもやめておこうとおもう。
0239デフォルトの名無しさん
2005/11/26(土) 12:36:23とは思う
0240デフォルトの名無しさん
2005/11/26(土) 17:58:59むしろ遠慮せずに書いてほしい。
0241デフォルトの名無しさん
2005/11/26(土) 19:27:32from random import choice
from string import digits, ascii_uppercase
return "".join((choice(digits + ascii_uppercase) for i in xrange(8)))
if __name__ == "__main__":
print generatePassword()
0242デフォルトの名無しさん
2005/11/26(土) 21:13:11どの問題への解答なの?
0243デフォルトの名無しさん
2005/11/26(土) 22:22:19>>237が発作的にコードをUpして、その他が反応というところだろう。
0244デフォルトの名無しさん
2005/11/27(日) 01:01:12でもやめておこうとおもう。
0245デフォルトの名無しさん
2005/11/27(日) 01:04:45コレってPythonだったら何行くらいで書けるものなの?
やってみたけどコードを短くする以前に問題が解けなかった。
0246デフォルトの名無しさん
2005/11/27(日) 02:56:54pythonでの比較はアレだけど、一応作ってみた。
import sys,re
def check_val(tree,ans,val=0):
if len(tree)!=3:
return False
elif len(tree[1])+len(tree[2])==0:
return ans==val+tree[0]
else:
return check_val(tree[1],ans,val+tree[0]) or check_val(tree[2],ans,val+tree[0])
in_str=sys.stdin.read()
in_val,in_tree=re.search("\s*(\d+)\s+\((.*)\)",in_str.replace("\n","")).groups()
in_tree=eval( in_tree.replace("(",",(") )
print {True:"yes",False:"no"}[check_val(in_tree,int(in_val))]
0247デフォルトの名無しさん
2005/11/27(日) 11:35:46Hello Pythonからで直してきます
0248デフォルトの名無しさん
2005/11/27(日) 15:44:58def Henkan(chr):
for (x, y) in [(" ", ""), ("()()", "-+-"), ("()", ""),(")", "-*-")]:
chr = chr.replace(x,y)
list = chr.split("(")
list1 = []
for i in list:
list1.extend(i.split("-"))
list2 = []
for i in list1:
if i in (""):
pass
elif i in ("*", "+"):
list2.append(i)
else:
list2.append(int(i))
return list2
0249デフォルトの名無しさん
2005/11/27(日) 15:46:12def Hantei(list):
answer = list[0]
list.pop(0)
list1 = []
list2 = []
for i in list:
if type(i) == int:
list1.append(i)
elif i in ("+"):
list2.append(sum(list1))
elif i in ("*"):
list1.pop()
if answer in list2:
return "yes"
else:
return "no"
chr = raw_input()
list = Henkan(chr)
print Hantei(list)
0250デフォルトの名無しさん
2005/11/27(日) 22:15:020251デフォルトの名無しさん
2005/11/28(月) 00:54:25問題: 16進数ダンプを行うコード
回答例: http://tinyurl.com/dyj4w
「ともだちがPython使い」なんていう状況があったら、それは恵まれていると思う。
0252デフォルトの名無しさん
2005/11/28(月) 02:05:03ちと富豪プログラミングっぽいが、こんなのはいかが?
def hexDump(fs, start, count):
fs.seek(start)
offset = 0
data = fs.read(count)
while True:
hex = " ".join(["%02x" % ord(c) for c in data[:16]])
if hex == "":
break
asc = "".join([['.', c][c.isalnum()] for c in data[:16]])
print "%08x : %-23s - %-23s : %s" % (start + offset, hex[:23], hex[24:], asc)
offset += 16
data = data[16:]
def main():
f = open("hexdump.py", "r")
hexDump(f, 0, 100)
if __name__ == "__main__":
main()
0253デフォルトの名無しさん
2005/11/28(月) 12:43:56ss = eval(s.replace("(", ",("))
def sum_generator(node, partial_sum):
for prop in node[1:]:
if len(prop)==0:
yield partial_sum+node[0]
else:
for trace_sum in sum_generator(prop, partial_sum+node[0]):
yield trace_sum
print {True:"YES", False:"NO"}[ss[0] in sum_generator(ss[1], 0)]
0254デフォルトの名無しさん
2005/11/28(月) 12:45:41def hd(f, start, length, n_cols=16):
f.seek(start, 0)
data = f.read(length)
cursor=0
while True:
part = data[cursor:cursor+n_cols]
if len(part)==0: break
posstr = '%08x' %(start+cursor)
hexstr = ''.join("%02x " % ord(c) for c in part).ljust(3*n_cols)
clabel = ''.join((c in asc and c or '.') for c in part).ljust(n_cols)
print ' : '.join((posstr, hexstr, clabel))
cursor+=n_cols
0255デフォルトの名無しさん
2005/11/28(月) 12:49:370256デフォルトの名無しさん
2005/11/28(月) 22:54:56ちょっと違う。子ノードが1本しかないノードも葉として判断してしまってます。
この式でいうと、2番目の4(子ノードは1のみ)がそれに該当。
0257デフォルトの名無しさん
2005/11/28(月) 23:07:550258デフォルトの名無しさん
2005/11/28(月) 23:15:32書籍じゃないと勉強し辛いですかね
webページって少ないですよね
0259デフォルトの名無しさん
2005/11/28(月) 23:56:39いまや日本語でかかれたPython本の方が少ない。
0260デフォルトの名無しさん
2005/11/29(火) 00:05:22「初めてのPython」5000円出すのはちょっと辛いんです
サイトだけで勉強してる人も多い?
0261デフォルトの名無しさん
2005/11/29(火) 00:19:390262デフォルトの名無しさん
2005/11/29(火) 00:19:51お勉強スレへ来たまえ。
[ Pythonのお勉強 Part 8 ]
http://pc8.2ch.net/test/read.cgi/tech/1132805629/20-
0263デフォルトの名無しさん
2005/11/29(火) 00:20:23ttp://www.python.jp/doc/release/tut/
本を読まずにコード書けるようになった奴を見たこと無いです。
0264デフォルトの名無しさん
2005/11/29(火) 00:23:44サイトで様子見して給料入ってから書籍購入検討します
呼ばれたのでお勉強スレにも行ってみます
0265デフォルトの名無しさん
2005/12/01(木) 18:27:11いやなら会社の金で買うとか、図書館にリク出すとか。
0266デフォルトの名無しさん
2005/12/01(木) 19:08:57でもその先の「アルゴリズムとデータ構造」や「プログラミング技術」みたいな
レベルに入ると、本が必要だよね。
0267デフォルトの名無しさん
2005/12/01(木) 19:38:31とりあえず「はじめて」というタイトルで、あの厚さと値段は、
出来れば買わずに済ませたい、むしろPythonを使うのは止めようと
思わせるに十分。
0268デフォルトの名無しさん
2005/12/01(木) 20:27:07釣れますか
もう師走ですね
0269デフォルトの名無しさん
2005/12/01(木) 20:41:11値段が高すぎるってのは同意。
0270デフォルトの名無しさん
2005/12/01(木) 21:06:07スキャナ買って取り込もうかと真剣に検討中。
0271デフォルトの名無しさん
2005/12/01(木) 21:15:26なった今では買う気が余りおきないんだよなー。
0272デフォルトの名無しさん
2005/12/02(金) 00:35:05ここのオープンソースのプログラムをコンパイルしたいだけなんだけど、どーしてもうまくいかない!
sepy ActionScript Editor 1.5.1
http://sourceforge.net/project/showfiles.php?group_id=90749&release_id=192540
ソースをさらっと読みしたり、一日いじくり回してわかったんだけど、
py2exe で使用している以下の二つのパッケージが見あたらなくて、コンパイルは正常終了するんだけど実行できないようなのね。
'win32com.gen_py'
'_xmlplus'
必要と思われるパッケージはインストールしました(下記参照)
誰かわからないかなぁ
・Python 2.4.2
・wxPython 2.6.1 (←2.6.2でコンパイル推奨なのだが見あたらない・・)
・PyRXP 1.07
・py2exe 0.6.3
そもそも、gen_pyってなんのパッケージなのよ?
0273デフォルトの名無しさん
2005/12/02(金) 00:48:08> 'win32com.gen_py'
> ---- snip ----
> そもそも、gen_pyってなんのパッケージなのよ?
win32comが入ってないきがする…
0274デフォルトの名無しさん
2005/12/02(金) 00:54:45あ、ごめんです。抜けてた。
・pyWin32 (win32com ) のビルド205を入れました。
gen_py ってフォルダはできるんだけど、中身は空っぽですた。
0275デフォルトの名無しさん
2005/12/02(金) 01:32:30> gen_py ってフォルダはできるんだけど、中身は空っぽですた。
うちのgen_pyフォルダには __init__.py がありました。こんな風になってた。
# pywin32-204.win32-py2.4.exe でインストールしました。
----↓ win32com\gen_py\__init__.py ----
# Generated file - this directory may be deleted to reset the COM cache...
import win32com
if __path__[:-1] != win32com.__gen_path__: __path__.append(win32com.__gen_path__)
----↑----
COMコンポーネントまわりが関係してるっぽいです。
gen_pyフォルダには、makepy.pyで生成したCOMコンポーネントのキャッシュが置かれる
らしいので、もともと空っぽ(__init__.py だけ)でもかまわないみたい。
ここらへんも参考になるかもしれない。
http://starship.python.net/crew/theller/moin.cgi/IncludingTypelibs
0276デフォルトの名無しさん
2005/12/02(金) 01:56:11> py2exe で使用している以下の二つのパッケージが見あたらなくて、コンパイルは正常終了するんだけど実行できないようなのね。
> 'win32com.gen_py'
> '_xmlplus'
> 必要と思われるパッケージはインストールしました(下記参照)
> 誰かわからないかなぁ
> ・Python 2.4.2
> ・wxPython 2.6.1 (←2.6.2でコンパイル推奨なのだが見あたらない・・)
> ・PyRXP 1.07
> ・py2exe 0.6.3
'_xmlplus' モジュールを使うなら、PyXML が必要なんじゃないの?
PyRXPもXML系のライブラリだけど、今回の目的には合わないと思う。
0277272
2005/12/02(金) 02:19:41setpu.py 内
import py2exe
setup(
〜〜〜
options = {
"py2exe": {
"packages": ['encodings', 'dbhash', 'win32com.gen_py', '_xmlplus'],
"dist_dir": packageroot,
}
},
〜〜〜
ここ、'win32com.gen_py', '_xmlplus'を抜くと正常にコンパイルが走るんで、原因はここで間違いなかったです。
さすが、プロ板。一人で悩んでたんで、多少なりとも光が見えた感じです。
>>275
'win32com.gen_py'
って事は、何かのcomコンポーネントをキャッシュさせるということなのでしょうか?
>>276
なるほど。ネットで情報収集してた際にはpyXMLもでてきていましたが、SEPYのオープンソース上のコメントを信じてpyRxpで粘っていました。試してみます。
ところで、PyRXPのインストールって、pydファイルをインストール先のDllsフォルダに設置するだけでいいんだろうか?それが間違ってる?
0278デフォルトの名無しさん
2005/12/02(金) 04:50:08なんだそりゃ…。
py2exeで固める前に、スクリプトがちゃんと動くかどうか確認した方がいいよ。
# コンパイルコンパイル言ってるから、なんか不安なんだが、ひょっとして
# コンパイラとインタプリタの区別もついてないんじゃなかろーか。
0279272
2005/12/02(金) 23:39:38うまくコンパイルできましたです。
目的だったSEPYエディタのSjisコードの使用も実装できましたです。
'_xmlplus'は PyXML インストールで解決、
'win32com.gen_py' は 'win32com' に書き換えて全部インポートしちゃう事で解決しました。
>>278
ぶっちゃけ、区別ついてないですww
pythonと出会って今日で二日目でした。うは。
pycってコンパイル生成物だとばかり思ってた。。違うのか?
んじゃ、pyファイルってのは全部スクリプトな訳なのね。
0280デフォルトの名無しさん
2005/12/03(土) 01:33:56.pycは.pyを *バイトコンパイル* して生成されるので、半分合ってる。
ただし、C言語などでいうコンパイルと違って、バイトコンパイルされた
Pythonコード自身を(Pythonインタプリタ無しで)実行できるわけではない点を理解して欲しい。
ここらへんとか参照:
http://www.python.jp/doc/nightly/tut/node8.html#SECTION008120000000000000000
0281デフォルトの名無しさん
2005/12/03(土) 01:43:250282デフォルトの名無しさん
2005/12/03(土) 07:44:59Ironpythonみたいな感じになっちゃうんですかね?
0283デフォルトの名無しさん
2005/12/03(土) 10:13:53既に使われています。psycoなんかはかなりポピュラーです。
psyco: JavaとかでいうとJITコンパイラにあたるもの
http://psyco.sourceforge.net/
shedskin: experimental Python-to-C++ compiler
http://sourceforge.net/projects/shedskin/
0284デフォルトの名無しさん
2005/12/04(日) 08:49:09Python おkなところがあるみたいです。
ttp://www.x7net.com/
何がどこまで出来るのかよく分かってないんですが、とりあえず
申し込んでみたので、審査通ったら勉強する予定。
0285デフォルトの名無しさん
2005/12/04(日) 13:23:10これって個人運営だよね。
サーバ1台で稼働してるっぽいけど大丈夫かな。
0286デフォルトの名無しさん
2005/12/04(日) 14:24:35CGIなんか特にそう。
何がInternalErrorなのかさっぱりです。
0287284
2005/12/04(日) 14:59:45広告無しで、どう成り立ってるのかも不思議。
飛んで困るようなモノは置かないようにします。
>>286
ありがとう。
まずは自分の PC でやってみます。
0288デフォルトの名無しさん
2005/12/05(月) 08:19:220289デフォルトの名無しさん
2005/12/05(月) 19:12:47execfile( "Lib\cgi.py" , hoge )
0290デフォルトの名無しさん
2005/12/05(月) 19:13:25cgi = { }
execfile( "Lib\cgi.py" , cgi )
0291デフォルトの名無しさん
2005/12/05(月) 22:29:46http://docs.python.org/ext/ext.html
0292デフォルトの名無しさん
2005/12/05(月) 22:31:15thx
0293デフォルトの名無しさん
2005/12/10(土) 00:37:14某MLに関連して、二次元配列はこんな感じで答えに最短になるのかな。
[[0]*width for i in range(height)]
0294デフォルトの名無しさん
2005/12/10(土) 00:40:470295デフォルトの名無しさん
2005/12/10(土) 22:52:400296デフォルトの名無しさん
2005/12/11(日) 11:05:42http://esoteric.sange.fi/brainfuck/impl/interp/bf.py.txt
0297デフォルトの名無しさん
2006/01/26(木) 01:34:55>>56を読むべし
0298デフォルトの名無しさん
2006/01/27(金) 14:46:10西暦(or元号)を引数にすると干支(十二支十干でも十二支だけでも可)を返す。
0299デフォルトの名無しさん
2006/01/27(金) 18:08:000300デフォルトの名無しさん
2006/01/27(金) 19:30:220301デフォルトの名無しさん
2006/01/28(土) 23:01:280302デフォルトの名無しさん
2006/01/28(土) 23:19:540303デフォルトの名無しさん
2006/01/29(日) 08:05:410304デフォルトの名無しさん
2006/01/29(日) 17:01:09B.C. 12000 (-12000) から A.D. 11999 年まで対応.
print (u"申酉戌亥子丑寅卯辰巳午未"*10000)[1972].encode('euc-jp')
0305301
2006/01/29(日) 19:24:39def eto(year): return u"子丑寅卯辰巳午未申酉戌亥"[(x-4)%12]
これでよかろうという意味ね
0306デフォルトの名無しさん
2006/01/30(月) 03:49:280307デフォルトの名無しさん
2006/01/30(月) 15:52:55文字化け対策としてはどうすればいいでしょうか?
#!/usr/bin/python
# -*- coding: euc-jp -*-
import curses
stdscr = curses.initscr()
stdscr.addstr("AAA")
stdscr.refresh()
curses.napms(2000)
curses.endwin()
0308デフォルトの名無しさん
2006/01/30(月) 16:06:36端末の文字コードが euc-jp に対応してるか確認し、(8bit 文字列通る?)
表示フォントも適切に設定する。
0309デフォルトの名無しさん
2006/01/30(月) 17:23:24環境は Cygwin/ck/screen ですが,
テスト時は screen なしでも確認してます.
euc-jp には対応しており,不思議なことに,
AAAをAAと2文字にすれば化けずに表示されます.
curses を使わず print "AAA" でも大丈夫です.
0310デフォルトの名無しさん
2006/01/30(月) 20:00:040311デフォルトの名無しさん
2006/01/30(月) 21:20:49>>307の原因を探る。
0312デフォルトの名無しさん
2006/01/30(月) 23:16:530313デフォルトの名無しさん
2006/02/07(火) 01:59:00参考書に載っていた約数を返す関数の
def factor (aNumber):
factorList = []
for i in range(2, aNumber/2+1):
if(aNumber % i) == 0:
factorList.append(i)
return (factorList)
4行目の if(aNumber % i)はどういう意味なんでしょうか?
0314デフォルトの名無しさん
2006/02/07(火) 02:56:51if (aNumber % i) だと,aNumber % i が 0 で無いなら〜
という意味
0315デフォルトの名無しさん
2006/02/07(火) 04:00:56早いレスありがとうございます。
理解できました。
0316デフォルトの名無しさん
2006/02/15(水) 22:03:010317デフォルトの名無しさん
2006/02/15(水) 22:03:580318デフォルトの名無しさん
2006/02/15(水) 22:18:480319デフォルトの名無しさん
2006/02/15(水) 22:26:46できないなら出来ないなりに間に合わせるので良いですけど
0320デフォルトの名無しさん
2006/02/15(水) 22:29:14何を目的としているんだ?
0321デフォルトの名無しさん
2006/02/15(水) 22:29:250322デフォルトの名無しさん
2006/02/15(水) 23:52:34単純に
#define AAA 360
というようなマクロ定義に使えればそれでよいです。
複雑な事をしようとしてる訳ではないので。
0323デフォルトの名無しさん
2006/02/16(木) 00:14:210324デフォルトの名無しさん
2006/02/16(木) 00:45:58やはりそうですか
0325デフォルトの名無しさん
2006/02/16(木) 01:10:09よみ辛さだなw
0326デフォルトの名無しさん
2006/02/16(木) 07:46:220327デフォルトの名無しさん
2006/02/16(木) 23:57:19日本語環境用インストーラ(Win32)をダウンロードして、
起動した画面の「プロパティ」の「現在のコードページ」に
「(ANSI/OEM-日本語 Shift-JIS」とありますが、
どうやって日本語を入力できるのかがわかりません。
いろいろキーを押してみたのですが、アルファベットしか
出てこないのです。マニュアルにも
『Pythonで学ぶプログラム作法』にも載っていなさそうです。
本当に「0から」って感じですが、お答えいただけたらうれしいです。
0328デフォルトの名無しさん
2006/02/17(金) 00:28:390329327
2006/02/17(金) 00:30:57そうです。わからないというか、できないというか。
0330デフォルトの名無しさん
2006/02/17(金) 00:34:510331327
2006/02/17(金) 00:55:06出来ました。ありがとうございます。
0332デフォルトの名無しさん
2006/02/17(金) 01:16:39日本語pythonならidleってのがついているから、
コマンドプロンプトじゃなくてそれ使ったら?
0333327
2006/02/17(金) 03:16:30重ねてありがとうございます。
(idleという項目をマニュアルで見つけましたので、後日熟読します。)
(実は今の段階では、読んでもなんのことか判らないので…)
0334デフォルトの名無しさん
2006/02/19(日) 19:23:590335デフォルトの名無しさん
2006/02/19(日) 20:04:52おまいらどう思いますか?
http://webpy.org/
0336デフォルトの名無しさん
2006/02/19(日) 20:14:330337デフォルトの名無しさん
2006/02/19(日) 20:33:09TurboGearだけはSDに載ってたんだが……
0338デフォルトの名無しさん
2006/02/19(日) 21:22:19import google, os
google.setLicense(os.getenv("GOOGLE_LICENSE"))
return google.doGoogleSearch('%s site:mojix.org' %(keyword)).meta.estimatedTotalResultsCount
>>> mojix('TurboGears')
101
>>> mojix('Django')
14
0339デフォルトの名無しさん
2006/02/19(日) 21:28:59import google, os
google.setLicense(os.getenv("GOOGLE_LICENSE"))
return google.doGoogleSearch('%s site:coreblog.org' %(keyword)).meta.estimatedTotalResultsCount
>>> ats('TurboGears')
602
>>> ats('Django')
1060
0340デフォルトの名無しさん
2006/02/19(日) 21:53:20cherrypy で <img src = "url"/>って書きたいときって、
src = "url" の部分はどう書けばいい?
>>335
web.py よさげ
この類ってDjangoとか色々あるけど、
全国的に使用されてる割合ってどのぐらいなんだろ
0341デフォルトの名無しさん
2006/02/20(月) 13:45:560342デフォルトの名無しさん
2006/02/21(火) 15:54:130343デフォルトの名無しさん
2006/02/21(火) 23:13:520344デフォルトの名無しさん
2006/03/01(水) 23:39:43仕事で使ってみている。(まだ未公開。)
BSD ライセンスなので選んでみたが、
Django 自体のコードもいい感じだ。
デザインとして結構関数指向が強いので、
メンテできる人が限定されそうなのが欠点かも。
TurboGear ってどんな感じよ?
0345デフォルトの名無しさん
2006/03/10(金) 23:12:140346デフォルトの名無しさん
2006/03/10(金) 23:13:37http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
まとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
0347デフォルトの名無しさん
2006/03/10(金) 23:14:34http://pc8.2ch.net/test/read.cgi/gamedev/1126605105/
人生の脱北者でも使えるPythonのお勉強
2 http://pc3.2ch.net/test/read.cgi/tech/1020682294/
3 http://pc2.2ch.net/test/read.cgi/tech/1053955472/
6 http://pc5.2ch.net/test/read.cgi/tech/1104156256/
Pythonお勉強スレッド
1 http://pc.2ch.net/tech/kako/965/965815778.html
2 http://pc3.2ch.net/tech/kako/1020/10207/1020718991.html
3 http://pc5.2ch.net/test/read.cgi/tech/1068824510/
4 http://pc5.2ch.net/test/read.cgi/tech/1081312810/
5 http://pc5.2ch.net/test/read.cgi/tech/1095684242/
6 http://pc8.2ch.net/test/read.cgi/tech/1104183124/
7 http://pc8.2ch.net/test/read.cgi/tech/1125159015/
8 http://pc8.2ch.net/test/read.cgi/tech/1132805629/
0348デフォルトの名無しさん
2006/03/11(土) 01:45:02総意を聞かせていただきたかったり。テンプレこっちの方がいいけど。
0349デフォルトの名無しさん
2006/03/11(土) 03:23:570350デフォルトの名無しさん
2006/03/11(土) 11:17:470351デフォルトの名無しさん
2006/03/11(土) 11:19:53>上級者さん
呼んだか?
0352デフォルトの名無しさん
2006/03/11(土) 14:56:50違う。あんたは上級生。
0353デフォルトの名無しさん
2006/03/11(土) 19:30:580354デフォルトの名無しさん
2006/03/11(土) 21:31:252chのスレ名ごときに黙ってられない奴の方がいい加減うんざりだ。
0355デフォルトの名無しさん
2006/03/11(土) 22:05:190356デフォルトの名無しさん
2006/03/11(土) 22:54:36Pythonスレに限ったことじゃないけど
0357デフォルトの名無しさん
2006/03/11(土) 23:10:18今回のは俺じゃねえよ。
0358デフォルトの名無しさん
2006/03/11(土) 23:58:01前すれで話題になったんですけど
0359デフォルトの名無しさん
2006/03/12(日) 00:20:36Python Scripting for Computational
http://www.amazon.co.jp/exec/obidos/ASIN/3540294155
0360デフォルトの名無しさん
2006/03/12(日) 00:35:52たかっ…
ありがとうございました.
0361デフォルトの名無しさん
2006/03/12(日) 00:58:31そんなPython本があればなぁ
0362デフォルトの名無しさん
2006/03/12(日) 01:01:48科学技術計算といってもいろいろあるだろ
0363デフォルトの名無しさん
2006/03/12(日) 01:04:03多変量解析・統計解析
Rじゃちょっとなぁとおもって
0364デフォルトの名無しさん
2006/03/12(日) 09:21:16* scipy なんかの範疇に収まらなさそうなのはこの際 R でやる
それがイヤなら
* RPy (R の python mapper)に手を出す
http://rpy.sourceforge.net/
* グラフィックも matplotlib 辺りで頑張る
>多変量解析・統計解析
これ自体は現状では R関連の本が一番実用的じゃないかな。
R言語自体の是非はおいておく。
実用世界(計算プログラム)での統計の考え方として読めば
python人でもいろいろ役に立つはず。
知ってる中ではこれが一番使える:
"S-PLUSによる統計解析"
http://www.amazon.co.jp/exec/obidos/ASIN/4431708219
これもいいかもしれないけどあまりよく見てない:
"工学のためのデータサイエンス入門"
http://www.amazon.co.jp/exec/obidos/ASIN/4901683128
0365デフォルトの名無しさん
2006/03/12(日) 10:34:24単に統計量を出したいのならNumericやらnumarrayやらを使えばいいんだけど,
それでは統計解析とはいわないよね.Pythonには分散分析や検定のパッケージが
あまりないから,しっかり勉強して自分で組む必要がある.
理論とコードの両方をカバーするのがしんどいなら,情報の面でもコードの書き
やすさの面でも R を勉強した方が近道だと思うよ.
Python Scripting for Computational Science は,データ処理やデモアプリの作成
にPythonを活用しようという趣旨の本.トピックが幅広くて実践的だけど,個別の
データ解析手法のトピックにはあまり詳しく触れてない.
ちなみに Numerical Methods in Engineering With Python なんて本もある.
これはシステム解析がテーマ.行列を使ってシステム方程式を解くのに numarray
を使いましょうという話で,大学生/大学院生の教科書レベル.
0366デフォルトの名無しさん
2006/03/12(日) 12:12:11ありがとうございました
0367デフォルトの名無しさん
2006/03/12(日) 14:53:52名前は変だけど、これ最高。
http://www.mindswap.org/~katz/pychinko/
0368デフォルトの名無しさん
2006/03/12(日) 16:13:13日本語の文書ないかなぁ
0369デフォルトの名無しさん
2006/03/12(日) 19:04:00お前は俺か?(つまり少なくとも3人は居るっつーことだなw)
0370デフォルトの名無しさん
2006/03/12(日) 19:33:06何に使えるの?
0371デフォルトの名無しさん
2006/03/12(日) 22:09:19http://d.hatena.ne.jp/keyword/Ruby?kid=2847
Python
http://d.hatena.ne.jp/keyword/Python
wasi kanasisu ...
0372デフォルトの名無しさん
2006/03/13(月) 00:23:44予約して欲しかった。あとwhile trueって書いて悶える奴絶対いそう
0373デフォルトの名無しさん
2006/03/13(月) 00:27:320374デフォルトの名無しさん
2006/03/13(月) 01:17:41漏れはほかの言語みたいにfor (;;)やdo構文的な別アプローチをあえて
用意せず、無限ループの書き方は常に1つってのが、Python的で
いいと思うなー
個人的にfor(;;)みたいな若干トリッキーな書き方をするぐらいだったら
while Trueの方がずっと素直だしわかりやすいと思うお
0375デフォルトの名無しさん
2006/03/13(月) 01:19:45いつにになったら True, False が予約語に入るんだろ。
0376デフォルトの名無しさん
2006/03/13(月) 01:25:54うわ、そんなことできるのか。。
True, False = False, True
真偽を反転させた状態を利用して何か面白いことができないかと一瞬思ったけど
頭が混乱するだけか。。
0377デフォルトの名無しさん
2006/03/13(月) 01:45:28自分の書いているコードの範疇ならまだいいんだけど
呼んでいるライブラリのなかとかも崩壊するから
マジ死亡でっせ
0378デフォルトの名無しさん
2006/03/13(月) 11:05:02while 1:
にするかな…
0379デフォルトの名無しさん
2006/03/13(月) 19:11:43> 呼んでいるライブラリのなかとかも崩壊する
どういうこと? 例きぼんぬ。
0380デフォルトの名無しさん
2006/03/13(月) 19:23:47>>> def hoge(var):
if var == True:
print "A"
else:
print "B"
>>> v = 1
>>> hoge(v)
A
>>> True = 0
>>> hoge(v)
B
0381デフォルトの名無しさん
2006/03/13(月) 19:25:51False = True とかやっても汚れるのはその名前空間だけだよね。
__builtins__.False = True とかやると、ガクガクブルブルw
0382デフォルトの名無しさん
2006/03/13(月) 19:51:45なるほど、そういうのも「ライブラリのなか」と呼んでるわけね。サンクス
0383デフォルトの名無しさん
2006/03/13(月) 19:58:35あれ? そうなの?
グローバル空間で True/False を書換ちゃうと
世紀末がいきなり来ちゃうのかと思ってた。
tutorial か何かにも (int = 3 みたいに) builtin なものを
上書きしちゃうとそういうのを参照するような
ライブラリの中とかもうまく動かなくなるよーって
かいてあった気がしたんで >377 って書きました…
0384デフォルトの名無しさん
2006/03/13(月) 20:04:09マジでメリットあんの?
0385デフォルトの名無しさん
2006/03/13(月) 20:12:05Python のグローバルスコープ(と呼んでいるもの)はモジュール毎だからね。
明示的に __builtins__ を汚さない限り影響はそのモジュール内にとどまるはず。
個人的には「グローバルスコープ」という名称が誤解を招きやすいと思う。
0386383
2006/03/13(月) 21:30:36説明ありがとうございます。勉強になりますた。
勘違いしてました。
ということで >377 は嘘です撤回しますです… orz
0387デフォルトの名無しさん
2006/03/13(月) 22:13:230388デフォルトの名無しさん
2006/03/13(月) 22:40:55てか予約語にせい
0389デフォルトの名無しさん
2006/03/13(月) 22:54:36というか、C++に慣れてるのでTrue、Falseと先頭大文字にするのがめんどい。
タイプ量的にもC的にもwhile無限ループはwhile 1:
そうか、最初にtrue=True, false=Falseとかしちゃえばいいのか。馬鹿みたいだが。
0390デフォルトの名無しさん
2006/03/13(月) 23:18:00#使い方をよく理解してないから、サンプルコードで例示できない…。
0391デフォルトの名無しさん
2006/03/14(火) 00:48:06第1版とは段違いのわかりやすさに見えた.
0392デフォルトの名無しさん
2006/03/14(火) 01:04:06まともに Python を勉強していたら「"True" という変数を作ろう」なんて発想は
逆さに振っても出てこない気がするんだが。
True や False が無かった古い Python ならいざ知らず、
わざわざ上書きで再定義するなんてのは単なるわがままか不勉強だろう。
0393デフォルトの名無しさん
2006/03/14(火) 01:19:40例え誰もいじらないってわかってても、隠蔽して「いじれないようにする」のがカプセル化。
それと同じ理由じゃない?
0394デフォルトの名無しさん
2006/03/14(火) 01:20:48必要ないけど好奇心で無駄に深追いしてるんだよ。
0395デフォルトの名無しさん
2006/03/14(火) 01:25:00しらけるだけだよ。
0396392
2006/03/14(火) 01:29:53> 例え誰もいじらないってわかってても、隠蔽して「いじれないようにする」のがカプセル化。
その意味では Python に「カプセル化」の機能はないよ。
いじれない部分はない。
いじれると分かっていてもいじらないのが Python 式。
>>394
了解。名無しに戻って ROM るよ。
0397デフォルトの名無しさん
2006/03/14(火) 01:31:06スマンカッタ
0398デフォルトの名無しさん
2006/03/14(火) 01:31:46>>395
スマンカッタ
0400デフォルトの名無しさん
2006/03/14(火) 07:31:010401デフォルトの名無しさん
2006/03/14(火) 08:06:08逝ってよーし
0402デフォルトの名無しさん
2006/03/14(火) 20:22:24スマンカッタ
0403デフォルトの名無しさん
2006/03/14(火) 20:28:25ヤダユルサナイ
0404デフォルトの名無しさん
2006/03/15(水) 00:44:400405デフォルトの名無しさん
2006/03/15(水) 13:32:110406デフォルトの名無しさん
2006/03/15(水) 13:38:48モチツケ.
再帰関数をλとreduceで置き換えて心を落ち着けるんだ。
0407デフォルトの名無しさん
2006/03/15(水) 14:54:370408デフォルトの名無しさん
2006/03/15(水) 16:10:33終了条件が不明だからだ!!
仕様から見直せ!!!
0409デフォルトの名無しさん
2006/03/16(木) 15:48:38まず何からDLしたらいいのですか?
0410デフォルトの名無しさん
2006/03/16(木) 15:54:070411デフォルトの名無しさん
2006/03/16(木) 15:54:520412デフォルトの名無しさん
2006/03/16(木) 15:59:03とりあえずパイソンの実行できるインタプリタなる物をDLしてくるんで
仕切り終わったら徹夜でお願いします。
0413デフォルトの名無しさん
2006/03/16(木) 16:34:35このサイトのpython-2.4.2msi以外のほかに何かDLするものはありますか?
0414デフォルトの名無しさん
2006/03/16(木) 16:35:16pythonを実行できる環境にするにはこのサイトのpython-2.4.2msi以外のほかに
何かDLするものはありますか?
0415デフォルトの名無しさん
2006/03/16(木) 16:36:230416デフォルトの名無しさん
2006/03/16(木) 16:41:17ttp://kanaya.naist.jp/Zope/member/nishio/japanese/memo/LearnPythonInAnHour/
1時間以内にできなかったら
見込みはない。あきらめろ。
0417デフォルトの名無しさん
2006/03/16(木) 16:42:480418デフォルトの名無しさん
2006/03/16(木) 16:48:22ありがとうございます!!とりあえず1時間見てみます!!やたーーー!!
0419デフォルトの名無しさん
2006/03/16(木) 17:14:28Traceback (most recent call last):
File "<pyshell#2>", line 1, in -toplevel-
test.py
NameError: name 'test' is not defined
F5キーで実行っていうのがありますが実行できません・・・。
手順を説明しますと、解答してIDLEを実行し、C\:直下にパイソンのインストールされた
ディレクトリが生成されました。そしてスクリプトとして実行しようとデスクトップに
Pythonというディレクトリを生成してtest.pyを作りました。(中身はprint "HELLO")
実行すると上に示したエラーが出てしまったのですが、ファイルを格納するPythonのディレクトリを
どこへ置けばいいのでしょうか?
スクリプトではなく、普通に実行するには問題無く実行できるようです。
対処の仕方を教えて頂けないでしょうか?お願いします。
0420デフォルトの名無しさん
2006/03/16(木) 17:17:28で作ったファイルならF5を押せば実行できます.
0421デフォルトの名無しさん
2006/03/16(木) 17:19:420422デフォルトの名無しさん
2006/03/16(木) 17:21:21実行する事が出来ました!!ありがとうございます!!何とか次に進めそうです(^ω^)
0423デフォルトの名無しさん
2006/03/16(木) 17:24:17それはpythonのプロンプトだから、pythonの命令しか入力できない。
test.pyにプログラムを書いて実行したいなら、コマンドプロンプトで
c:¥> cd プログラムのある場所
c:¥> python.exe test.py
と実行するか、IDLE使ってるなら、メニューの「File」->「Open」で
ファイルを開いておいてから、F5で実行する。
0424デフォルトの名無しさん
2006/03/16(木) 17:34:03コマンドプロンプトからでは内部コマンドが〜というエラーでできないみたいですorz
F5ができたので、今の所はこちらにして見ます!!
0425デフォルトの名無しさん
2006/03/16(木) 17:46:35では次は何をしたらいいのですか?
0426デフォルトの名無しさん
2006/03/16(木) 17:51:31とりあえず氏ね
0427デフォルトの名無しさん
2006/03/16(木) 17:55:14分かりました。では死んできます。あとは独学でなんとかします。
0428デフォルトの名無しさん
2006/03/16(木) 17:58:24諦めて ttp://www.python.jp/doc/release/tut/ をじっくりやれ。
0429デフォルトの名無しさん
2006/03/16(木) 17:58:45pythonをアンインストール
0430デフォルトの名無しさん
2006/03/16(木) 18:05:21おかげ様で実行できる所までは満足行く環境になり大変助かりました。
>>428
細かい説明がなされているので、そちらのサイトを基盤にし、理解を深めるように
して行こうと思います。オブジェクト指向も初めてなので頑張りたいと思います。
いろいろとご迷惑おかけしました。
付き合って頂いて本当にありがとうございました。
>>429
そうは行きません。頑張ります。
ではありがとうございました。
0431デフォルトの名無しさん
2006/03/16(木) 18:07:14しっかり氏んでこい。
2度とくるなよ。
0432デフォルトの名無しさん
2006/03/16(木) 18:22:330433デフォルトの名無しさん
2006/03/16(木) 18:33:36入門者の事例をなぞるか、どこぞの読み物を読むか
ttp://www.f7.ems.okayama-u.ac.jp/~yan/python/ を暗記するか、
やりたいことを書き出して逆引きPythonで逐一コードにするか。
0434デフォルトの名無しさん
2006/03/16(木) 18:41:10∩___∩
| ノ ヽ/⌒)
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/
.( ヽ |∪| /
\ ヽノ /
/ /
| _つ /
| /UJ\ \
| / ) )
∪ ( \
\_)
0435デフォルトの名無しさん
2006/03/16(木) 20:16:25# "最強"という単語の誤用がミソ
0436デフォルトの名無しさん
2006/03/16(木) 20:40:28つまんね杉。座布団没収。
0437デフォルトの名無しさん
2006/03/16(木) 22:24:580438デフォルトの名無しさん
2006/03/17(金) 01:16:030439デフォルトの名無しさん
2006/03/17(金) 01:29:450440デフォルトの名無しさん
2006/03/17(金) 01:35:010441デフォルトの名無しさん
2006/03/17(金) 02:34:23> あきらめろ。お前に音速は出せない。
これにシビれた :-O
0442デフォルトの名無しさん
2006/03/17(金) 06:15:57ttp://stani.be/python/spe/
vi
Emacs + Python-mode
0443デフォルトの名無しさん
2006/03/17(金) 12:24:04普段はpython-mode on emacsだけど
PyScripterなんかもなかなかいいよ。
0444デフォルトの名無しさん
2006/03/17(金) 18:42:080445デフォルトの名無しさん
2006/03/17(金) 18:43:590446デフォルトの名無しさん
2006/03/17(金) 20:25:070447デフォルトの名無しさん
2006/03/17(金) 20:32:070448デフォルトの名無しさん
2006/03/17(金) 20:47:07されるようだ。w
0449デフォルトの名無しさん
2006/03/18(土) 00:57:41PyScripter試してみたけど、ソース中の日本語は文字化けしちゃうけど、なんか解決策ある?
0450デフォルトの名無しさん
2006/03/18(土) 02:17:320451デフォルトの名無しさん
2006/03/18(土) 04:56:11複数文字なら"
というクセが抜けないでぷよ
0452デフォルトの名無しさん
2006/03/18(土) 05:01:38ん、便乗して試してみたけど、
Tools -> Options -> Editor Options
を選んで、DisplayタブのEditor Fontでフォント変えたら大丈夫でしたよ。
0453デフォルトの名無しさん
2006/03/18(土) 18:33:36俺は、
print """\
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" CONTENT="text/html; charset=Shift_Jis">
<title>タイトル</title>
"""
見たいにやってるけど、なるべく"""は使いたくないと思って。
なんかいい方法ある?
0454デフォルトの名無しさん
2006/03/18(土) 18:46:48"""を使いたくない理由がよくわからんけど、使いたくないなら別ファイルに
書いておいて読むとか。
0455デフォルトの名無しさん
2006/03/18(土) 19:06:040456http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 19:30:52TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0457デフォルトの名無しさん
2006/03/18(土) 19:47:48俺にはバックスラッシュに見えるのだが‥‥‥
0458デフォルトの名無しさん
2006/03/18(土) 19:55:59円マークにしてもバックスラッシュにしてもw、要するに1行目に空行が入る
のを避けるためだろう。俺もよくやるよ。
0459デフォルトの名無しさん
2006/03/18(土) 20:45:08"Garahad and " ¥
"I...."
って書いてる。複数文字列をつなげるだけなので、改行は明示的に入れないと入らない。
0460デフォルトの名無しさん
2006/03/18(土) 22:26:18あと、どう書いてる?(例: # -*- encoding: utf-8 -*-)
0461デフォルトの名無しさん
2006/03/18(土) 22:44:33先頭行にコメントで、半角1つ(って決まってもないかも)空けたあとは
# coding:(encode)でもいいんだよね?-*-も必須?
0462デフォルトの名無しさん
2006/03/18(土) 22:59:28-*- はEmacsに優しい
0463デフォルトの名無しさん
2006/03/18(土) 23:00:280464デフォルトの名無しさん
2006/03/18(土) 23:26:260465デフォルトの名無しさん
2006/03/18(土) 23:26:490466デフォルトの名無しさん
2006/03/19(日) 00:02:190467デフォルトの名無しさん
2006/03/19(日) 00:22:03もっとわかりたい場合はコレを読むといい。
http://www.geocities.jp/shido_takafumi/py/python7.html
# ちなみに、文法的にクラスという概念の無いC言語でも、オブジェクト指向っぽい書き方をしようと
# すると、Pythonのようにインスタンス自身を引数として明示的に書いたりします。
# OpenSSL なんかがそうなってた。
0468デフォルトの名無しさん
2006/03/19(日) 00:27:46今思いついたけど、
print "".join((
"abc",
"def"
))
とか。
0469デフォルトの名無しさん
2006/03/19(日) 00:34:38ちなみに↑Vim君でも機能するようにできてる。けど少数派。
0470デフォルトの名無しさん
2006/03/19(日) 00:38:17print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'
print '<html>'
print '<head>'
print '<meta http-equiv="Content-Type" CONTENT="text/html; charset=Shift_Jis">'
print '<title>タイトル</title>'
0471デフォルトの名無しさん
2006/03/19(日) 00:45:28?_?
0472デフォルトの名無しさん
2006/03/19(日) 13:12:18C++とか、Javaの this みたいなもんだ。厳密にはちょっと違うがな。
C++なんかでは this->foo = 10 なんて書けるわけだが、このthisが指しているのが、
自分自身(インスタンス自身)ってのは判ってるか?
Pythonでは、thisのような宣言なしで使える特殊変数は無くて、メソッドの第一引数で
インスタンス自身を受け取るようになってるだけ。だから
class foo:
def bar(this, baz):
pass
みたいにしちゃってもいい。名前はselfである必要はないんだけど、まぁ慣習として
selfにすることになっているというわけだ。
0473デフォルトの名無しさん
2006/03/19(日) 13:16:23インスタンスってのはオブジェクト内の変数なのでしょうか.
よくわからないや
0474デフォルトの名無しさん
2006/03/19(日) 13:21:29ttp://www.python.jp/doc/release/tut/node11.html#SECTION0011300000000000000000
の9.3.3
0475デフォルトの名無しさん
2006/03/19(日) 13:41:48ダンケ すぐ読んでくる!
0476474
2006/03/19(日) 13:44:19class Person:
name = ''
def __init__(self, name):
self.name = name
def who_are_you(self):
return self.name
>>>p1 = Person('Shingo')
>>>p2 = Person('おれおれ、おれだよ、おれ')
>>>print(p1.who_are_you())
Shingo
>>>print(p2.who_are_you())
おれおれ、おれだよ、おれ
以下、超適当な解説。
p1もp2も同じPersonクラスだけど、それぞれ、メモリ上の別の場所にロードされている。
クラスがメモリ上にロードされている状態を、インスタンス化された状態という。
classで明示されているselfというのは、自分自身のメモリ上の場所を特定するための変数。
なんでメモリ上にロードされた場所を特定できないと困るのか、は自分で考えて。
変数だから>>472の言うように、selfをthisで書いてもおkだけど、Pythonではselfと書くのがスタンダードみたい。
0477デフォルトの名無しさん
2006/03/19(日) 14:19:480478デフォルトの名無しさん
2006/03/19(日) 14:34:03オブジェクト
クラス
コンストラクタ
あぁあモウネルワカンネ
0479デフォルトの名無しさん
2006/03/19(日) 14:38:55あのチュートリアルの問題なのかなぁ…
その意味では "5分で分かるオブジェクト指向" って類いで
まともに分かるものが殆んどないんじゃない?
一応は分かったような気にはなるんだけど、いざプログラムコードと
向き合うときにしっくり来るような意味で染み込んでくれる説明が
あるなら紹介して欲しい。
俺が構造化・手続き型言語から来ているから理解がニブいって
問題だけじゃないと思うんだけど
(オブジェクト指向分かりにくいって意見はよく見るじゃん)
0480デフォルトの名無しさん
2006/03/19(日) 15:10:30以前どこかで読んだんだけど、ことばのハンデもあると思われ。
OOP用語の object, class, instance, constructor, inheritance 等々は
英語としてはフツーの直感的に理解しやすいことばなのらしい。
ところが俺たち日本人のバヤイは、カタカナ語(「オブジェクト」
「クラス」等)または普段あまり使わない漢字語(「継承」等)を
通じてOOPを理解しないといけない。ぶっちゃけ、直感的に分かりやすい
考え方とは言いがたい。
誰か大和ことばだけでOOPの初歩を解説してくれねーかな。
0481デフォルトの名無しさん
2006/03/19(日) 15:19:390482デフォルトの名無しさん
2006/03/19(日) 15:25:410483デフォルトの名無しさん
2006/03/19(日) 15:38:030484デフォルトの名無しさん
2006/03/19(日) 16:22:410485デフォルトの名無しさん
2006/03/19(日) 16:46:43かなり説明しずらい
野球を説明する時にどうやってバットでボール打つんですか?って質問に答えるぐらいむずかしい
0486デフォルトの名無しさん
2006/03/19(日) 16:50:45OOP せんでもいいよ。
0487デフォルトの名無しさん
2006/03/19(日) 16:53:49ttp://iwatam-server.dyndns.org/software/devintro/oo/oo/
0488デフォルトの名無しさん
2006/03/19(日) 16:54:59Pythonはオブジェクト指向でないプログラムもできるのも良いね
selfもclassもいらんもん
0489デフォルトの名無しさん
2006/03/19(日) 17:06:07みで中途半端だったので、初めはムカついてた。
けどまあ、これは複雑な関数は lambda にすんな、って作者の暗示なんだろうね。もう慣れたよ。
0490デフォルトの名無しさん
2006/03/19(日) 17:07:52> 「オブジェクト」とは日本語で言えば「もの」です。
この名言が日本人のOOに対する理解度を低下させている元凶です。
subject/object(主体/客体)のオブジェクトなのに。
0491デフォルトの名無しさん
2006/03/19(日) 17:10:59同意。
使い捨てのコードなんかでclass使わない場合がしばしばあるな。
所詮自分専用だしいいかーみたいなノリで。
で、使い捨てのコードをがしがし書いてて、しばらくやってると、
クラス定義とかもしといたほうが便利かもなーなんて考えたりするもんかも。
0492デフォルトの名無しさん
2006/03/19(日) 17:24:10の抽象系であるから
>で、使い捨てのコードをがしがし書いてて、しばらくやってると、
>クラス定義とかもしといたほうが便利かもなーなんて考えたりするもんかも。
みたいに、経験からくるもんなんだよ。それを考慮せず、いきなり
「クラス書け」と強制する Java とかは不自然な言語だよ
0493デフォルトの名無しさん
2006/03/19(日) 17:50:15Java が不自然な言語なのではなく、オブジェクトもクラスもわからんレベルの素人
が Java で書こうというのが不自然なだけでしょ。
0494デフォルトの名無しさん
2006/03/19(日) 17:52:09- クラスは設計図。
- インスタンスは製品。
- メソッドには製品についてるボタンとかレバーとかを操作したときの振る舞い(仕様)が書かれている。
- インスタンス変数は製品の状態。
* 設計図から製品を作るのがインスタンス化。
* 製品を作るために呼び出す関数がコンストラクタ。
* 別の設計図に手を加えて新しい設計図を作るのが継承。
* メソッド定義は製品のボタンやレバーを操作したときに何をするかを書く。
+ 設計図には製品の一般的な振る舞いしか書いてない。だから「"この製品"のXXが
YYならZZしろ」という仕様を書きたければ、 設計図には"この製品"を表す名前が
必要になる。これがself。
+ ユーザにとって、製品の回路の内部電圧とかレバーの回転角とかはどうでもいいし、
直接操作するものでもしてほしいものでもない。むしろユーザにとっては「ボタンを
押したら次の曲」とか「インジケータには曲名が表示されている」とかいう情報が
必要なので、ユーザにはインスタンス変数を直接操作させるよりもメソッドから操作
できるようにしておく。これがカプセル化。
+ 「ボタン」というインタフェースはどこにでもあるけど、それで電話を掛けるか
ミサイルを発射するかは製品次第。これがポリモルフィズム。
0495デフォルトの名無しさん
2006/03/19(日) 17:58:400496デフォルトの名無しさん
2006/03/19(日) 18:06:27selfってのはclass HogegeのHogegeなんだね?
んで
class Hogege:
def __init__(self, name, age):
self.name = name
self.age = age
とかするのか!?
とりあえず何かプログラム書いてみます
0497デフォルトの名無しさん
2006/03/19(日) 19:46:47Hogegeのメモリ上の物を指す
class Hogege:
def __init__(self, name, age):
self.name = name
self.age = age
if __name__ == "__main__":
h = Hogege("Python",10)
print h.name
print h.age
0498497
2006/03/19(日) 19:53:31h = Hogege("Python",10)
の h
が __init__(self, name, age):
のselfとなっている
b = Hogege("P",30)
print b.name
print b.age
が別になる
0499デフォルトの名無しさん
2006/03/19(日) 21:11:29TRON 世界では OS のいろいろなものを日本語表現で言うよね。
実身/化身 とか。
他の言語も含めて共通語になってくれないと
単なる変態用語になりかねなくて危険だけど、
ああいう感じで「ナゾのカタカナ語」から脱却できるといいんだけどね。
>490
この手の「もの」説明をいくら読んでもしっくり来なかったんだけど
最近無理に「もの」とか考えなくていいんだ、と思うようになって
少しクラスが分かった気がしてきてる。
>494
一番迷うのって "クラスとは何か" っていうより
"何をクラスにすべきなのか"
"どういうクラス構成にすべきか"
っていう部分で、その捉え方(クラス分け)が設計そのものってイメージだけどな。
0500デフォルトの名無しさん
2006/03/19(日) 21:26:220501デフォルトの名無しさん
2006/03/19(日) 22:12:03http://satoshi.blogs.com/life/2004/09/post.html
0502デフォルトの名無しさん
2006/03/19(日) 22:18:020503デフォルトの名無しさん
2006/03/19(日) 23:47:08最初っからオブジェクト指向言語で入った人たちはあまり問題ないんじゃない?
っていうようなことがIBM developerWorksのどこかに書いてあった。
0504デフォルトの名無しさん
2006/03/20(月) 00:27:47「おぶじぇくととは モノ なのです」が
しっくりくるんだろうか… 結構疑問
0505デフォルトの名無しさん
2006/03/20(月) 00:38:36しっくりこなくても「オブジェクト指向の概念」を理解してる人にはわかるでしょ。
所詮、自然言語で説明(しかも初心者に!)なんて限界があるよ。
個人的にはいろんな例を見せるのが一番だと思う。
プログラム読むのが嫌いな人は絶対にプログラムを書けるようにはならないよ。
0506デフォルトの名無しさん
2006/03/20(月) 01:52:08くどくど説明しようとすると悪い意味で哲学的な方向にばかり行ってしまう。
「オブジェクトとはモノである」ってのは初学者の興味をちょっと引く程度の意味以上は持たないと思う。
0507デフォルトの名無しさん
2006/03/20(月) 02:24:14> プログラム読むのが嫌いな人は絶対にプログラムを書けるようにはならないよ。
イイコト言った!
0508デフォルトの名無しさん
2006/03/20(月) 02:29:52> 一番迷うのって "クラスとは何か" っていうより
> "何をクラスにすべきなのか"
> "どういうクラス構成にすべきか"
> っていう部分で、その捉え方(クラス分け)が設計そのものってイメージだけどな。
これもいいな。
やはり、アレコレ言ってるよりも、「いっぱいコード書け! いっぱい読コードめ!」が王道なんだね。
Pythonは他人のコードが読みやすいので良いですね。
0509デフォルトの名無しさん
2006/03/20(月) 02:31:51○ 「いっぱいコード書け! いっぱいコード読め!」
× 「いっぱいコード書け! いっぱい読コードめ!」
0510デフォルトの名無しさん
2006/03/20(月) 03:11:27「これと似た処理何回もあるな。
毎回コピペして改造するの面倒だし、はじめから再利用できるようにしておこう」
ってこと出て来ると思うし、それでだんだんオブジェクト指向につながって行くんだよ
0511デフォルトの名無しさん
2006/03/20(月) 03:41:58その視点だと、partialが導入されたらクラス要らなくなりそうだ。
0512デフォルトの名無しさん
2006/03/20(月) 07:08:36C#とかが関数型言語の方向にかなりいっている気がするのもその方向かもしれない
0513デフォルトの名無しさん
2006/03/20(月) 08:12:23せめて構造体に関数をつける程度の機能は残して欲しいな、なくすとしても。
あれはかなり便利だから。
0514オレだよ、オレ
2006/03/20(月) 10:38:18>513 程度のレベルでしかクラスを理解していませんが
「クラスを使ってる」
「オブジェクト指向してる」
って言い張ってもいいんでしょうか?
0515デフォルトの名無しさん
2006/03/20(月) 10:47:14>程度のレベルでしかクラスを理解していませんが
>「クラスを使ってる」
>「オブジェクト指向してる」
>って言い張ってもいいんでしょうか?
短い答え:好きにしなさい。
長い答え:自分の言葉ぐらい自分で責任取れ。
0516デフォルトの名無しさん
2006/03/20(月) 10:58:31「これは」というオブジェクト指向の用例をみんなで出し合わない?
標準ライブラリの中で俺的に勉強になったのは:
- StringIO.StringIO
文字列をあたかもファイルであるかのように扱うことのできるクラス。
インタフェース(メソッド名、引数、戻り値)がファイルオブジェクトと同じなので、
ファイルオブジェクトを読み書きするプログラムは StringIO クラスのインスタンスも
特段の修正なしに読み書きできる。このクラスも標準ライブラリ中に用例が多い。
ファイルオブジェクトのインタフェースを模倣する file-like object の例は
socket, httplib, gzip, codecs.StreamReader, codecs.StreamWriter 等多数ある。
- rfc822.Message, mimetools.Message
電子メールに代表される RFC 822 形式のデータを表現するクラス。
httplib, cgi, mailbox, BaseHTTPServer 等、標準ライブラリの中で用例が豊富。
シンプルなデータ構造と柔軟なアクセスを可能にするインタフェースによって
高度な汎用性を実現している。カプセル化と再利用の好例。
- htmllib.HTMLParser, formatter.AbstractFormatter, formatter.DumbWriter
HTML を解釈 (parse) して整形 (format) し、出力 (write) するクラスライブラリ。
インタフェースを定めて複数のクラスを入れ子状に連携させる例になっている。
3つのクラスがそれぞれ HTML の解析に関するクラス、データの整形に関するクラス、
整形されたデータの書き出しに関するクラスに分かれていて、各クラスが容易に
再利用できる(つまり自分流に手を加えてアレンジできる)ようになっている。
正直言って、最初に読んだときはさっぱり理解できなかった。実際に自分でアプリを
書いてクラス群を再利用してみてようやくクラス設計のスゴさが分かった。
0517デフォルトの名無しさん
2006/03/20(月) 10:59:57最近のもので面白いものがあったら教えてホスィ。
0518デフォルトの名無しさん
2006/03/20(月) 11:02:20- SocketServer.TCPServer, SocketServer.StreamRequestHandler
ソケット通信に基づくサーバを作るためのクラスライブラリ。
接続を待ち受けるサーバクラス (TCPServer) と、個々の接続に対する応用依存の
処理を記述するハンドラクラス (StreamRequestHandler) の2つでサーバを構成する。
一つの接続に対して一つのハンドラクラスのインスタンスが作られる。
これらのクラスの用例に BaseHTTPServer, SimpleHTTPServer 等がある。
これも最初に読んだときは理解が及ばなかったが使ってみて納得し、感心した。
連投&長文スマソ。新しいモジュールはほとんど読んでないので全体的に知識が古い。
最近のもので面白いものがあったら教えてホスィ。
0519デフォルトの名無しさん
2006/03/20(月) 11:47:48ようになったね.
0520デフォルトの名無しさん
2006/03/20(月) 13:05:040521デフォルトの名無しさん
2006/03/20(月) 14:00:21>>> class Foo:
... def __init__(self):
... self.x = 1
...
>>> Foo.x
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: class Foo has no attribute 'x'
>>> Foo.x = 2
>>> Foo.x
2
>>> foo = Foo()
>>> foo.x
1
0522デフォルトの名無しさん
2006/03/20(月) 14:06:50長い答えがあまり長くないのには好感が持てる
0523デフォルトの名無しさん
2006/03/20(月) 14:09:18Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: class Foo has no attribute 'x'
>>> Foo.x = 2
>>> Foo.x
2
が良くわからないけどほかのところはわかりました.
ありがとうございました
0524デフォルトの名無しさん
2006/03/20(月) 15:06:55ファイルの書き出しストリームに暗号化処理を一段かまして、とかがさくっとできないから。
0525デフォルトの名無しさん
2006/03/20(月) 15:39:34"Object" の正式な訳語は「算体」だよ。普及してないけど。
0526デフォルトの名無しさん
2006/03/20(月) 16:37:290527デフォルトの名無しさん
2006/03/20(月) 16:38:410528デフォルトの名無しさん
2006/03/20(月) 16:54:25マジレスきぼう。
0529デフォルトの名無しさん
2006/03/20(月) 16:56:14勉強になりました
0530デフォルトの名無しさん
2006/03/20(月) 16:59:570531デフォルトの名無しさん
2006/03/20(月) 17:12:140532デフォルトの名無しさん
2006/03/20(月) 17:48:290533デフォルトの名無しさん
2006/03/20(月) 17:49:110534デフォルトの名無しさん
2006/03/20(月) 18:11:100535デフォルトの名無しさん
2006/03/20(月) 18:57:440536デフォルトの名無しさん
2006/03/20(月) 19:01:100537デフォルトの名無しさん
2006/03/20(月) 19:08:26その理解に至るきっかけになる刺激を最初から電気ショックで与えてくれてれば
どんなに楽かと一体何度思ったことか。
0538デフォルトの名無しさん
2006/03/20(月) 19:34:530539デフォルトの名無しさん
2006/03/20(月) 19:48:10selfというのはクラスのインスタンス自体を表す引数だよ。
print文で印字してみれば一目瞭然。
>>> class Foo:
def bar(self):
print self
>>> foo = Foo()
>>> print foo
<__main__.Foo instance at 0x00C18AA8>
>>> foo.bar()
<__main__.Foo instance at 0x00C18AA8>
>>>
0540デフォルトの名無しさん
2006/03/20(月) 20:06:560541デフォルトの名無しさん
2006/03/20(月) 20:44:430542デフォルトの名無しさん
2006/03/20(月) 20:48:26クラス定義のあと、スクリプトの実行部分で使う場合に
「foo.bar()」と「個別のインスタンス名.クラスで定義されたメソッド名」になる。
こういうメソッドをクラスで定義するためには「個別のインスタンス名」が無いわけだから
その代わりに「self」を使う。
でいいのかな
0543デフォルトの名無しさん
2006/03/20(月) 21:44:10ある意味 いんすたんす という言葉より
python での 「self って書け、それは self(自体・自分)なんだ」
っていうところから いんすたんす って
そういうものなんだと理解した
0544デフォルトの名無しさん
2006/03/20(月) 21:46:05男子校でしたorz
0545デフォルトの名無しさん
2006/03/20(月) 21:52:19ttp://hotwired.goo.ne.jp/news/technology/story/20060320302.html
playshはPythonで実装されてます。
誰か触ってみた人いる?
0546デフォルトの名無しさん
2006/03/20(月) 21:52:32M-x customize-group python
0547デフォルトの名無しさん
2006/03/20(月) 22:02:35つまりインスタンスってのはその場合fooなわけですか?
Fooというクラスに属するインスタンスであるところのfooに対して,
関数barを行うわけだからself,ってかくのか!
なんかわかってきたきがします
ttp://visualwx.altervista.org/indexit.php
これ使ってみた人いますか?
簡単にGUiアプリが作れるみたいですけど
0548デフォルトの名無しさん
2006/03/20(月) 22:35:14前に使ったことあるよ。結構いい感じだったんだけど、日本語が
全くだめだったので、やめた。今はどうなのかな。
言語は、pythonじゃなくてC++だけど。
アプリの配付を考えているなら、あまり向かないと思うぞ。wxWidgetを
一緒に配るか、埋め込まないといけないから。
埋め込んだ場合、窓一つでも数メガは行ったと思う。stripしても2,3メガくらいかな?
(ちなみにwindowsでの話)
あとwxWidgetは、ツリービューは他のOSとの互換のため、独自に描いているので、
見栄えが少し違う。そのときは気になって、何度もいじっていたら落ちたw
IDEの出来は、かなりよかった印象がある。印象だけかもしれんがw
使ったのはずいぶん前だから、興味があったら試してみたら?
GUIはボトペタでつくれたと思う。(最初に「サイザー」とかいうのを置かないといけないとか、
wxWidget独特の癖があるけど)
0549デフォルトの名無しさん
2006/03/20(月) 22:44:55def bar(self):
print self
>>547
>>> foo = Foo()
>>> foo.bar()
<__main__.Foo instance at 0x00C02F10>
>>> Foo.bar(foo)
<__main__.Foo instance at 0x00C02F10>
0550デフォルトの名無しさん
2006/03/20(月) 22:56:24演算子使えない状況なんぞあんのかと
0551デフォルトの名無しさん
2006/03/20(月) 23:00:00550 は明かに関数プログラミングを知らないようだね
0552デフォルトの名無しさん
2006/03/20(月) 23:04:22map()
partial()
0553デフォルトの名無しさん
2006/03/20(月) 23:40:30windows?
コマンドプロンプトでpythonって打鍵してpythonが起動するならパス指定って不要でない?
(setq py-python-command "C:/Python24/python.exe")
0554デフォルトの名無しさん
2006/03/20(月) 23:41:24すくなくともLispかSchemeは触れておいた方がよいよ
0555デフォルトの名無しさん
2006/03/20(月) 23:45:26やっぱ一番最後の例がわからない…orz
0556デフォルトの名無しさん
2006/03/20(月) 23:45:460557デフォルトの名無しさん
2006/03/20(月) 23:53:58>>> class Foo:
def bar(self):
print self
の引数のselfは、
呼び出し側で引数に指定が無い場合は、その関数を呼び出したインスタンス自身をselfとして、
呼び出し側で引数に指定がある場合は、その引数をselfにして、
関数内の処理を実行する。
>>> foo = Foo()
>>> foo.bar() // fooインスタンスのbar(self)関数を、引数なしで呼び出したので、self=呼び出したインスタンス=fooが自動的に割り当てられる。
<__main__.Foo instance at 0x00C02F10>
>>> Foo.bar(foo) // Fooクラスのbar(self)関数に、fooインスタンスを指定したので、self=foo。上と同じインスタンスがprintで出力される。
<__main__.Foo instance at 0x00C02F10>
0558デフォルトの名無しさん
2006/03/21(火) 00:32:460559デフォルトの名無しさん
2006/03/21(火) 00:34:450560デフォルトの名無しさん
2006/03/21(火) 01:40:050561デフォルトの名無しさん
2006/03/21(火) 05:28:140563デフォルトの名無しさん
2006/03/21(火) 08:35:100564デフォルトの名無しさん
2006/03/21(火) 08:36:15テラワロスwww
0565デフォルトの名無しさん
2006/03/21(火) 13:40:05結構かぶってる気がする。
0566デフォルトの名無しさん
2006/03/21(火) 13:43:360567デフォルトの名無しさん
2006/03/21(火) 14:13:040568デフォルトの名無しさん
2006/03/21(火) 14:15:57本当はLispが好きなんだが、仕事ではライブラリの豊富さに釣られて
Pythonを使ってる。でもPythonもだんだん好きになってきたよ。
0569デフォルトの名無しさん
2006/03/21(火) 15:16:56俺も Lisp の方が言語的に華麗だとは思うが、作業効率とか library の充実ぶり
とかソースコードの読みやすさや自然度は断然 Python の方が上だと思うな。
とかいって (E)Lisp と Python は五分ぐらいにプログラミングしてるけど
0570デフォルトの名無しさん
2006/03/21(火) 15:24:49関数型言語の知識があれば Python でも lambda を取り組んだ map、
filter、 reduce などを活用した綺麗なコードが書けるようになる
0571デフォルトの名無しさん
2006/03/21(火) 15:27:03ひとりはマリコ、もうひとりはジュンコ。どっちもかわいいし、スポーツ万能。
マリコはクールビューティ的な感じがあって、俺はより親しみやすい性格だった
ジュンコのほうが好きだった。
0572デフォルトの名無しさん
2006/03/21(火) 15:53:550573デフォルトの名無しさん
2006/03/21(火) 16:04:230574デフォルトの名無しさん
2006/03/21(火) 16:05:57さすがにスレ違い
0575デフォルトの名無しさん
2006/03/21(火) 16:13:000576デフォルトの名無しさん
2006/03/21(火) 17:06:20lispとかlambdaっていたいだけのやつが多いな。
に見えた
0577デフォルトの名無しさん
2006/03/21(火) 18:28:51http://pythonmac.org/packages/ にはpantherまでしか
ないんだけど。
0578デフォルトの名無しさん
2006/03/21(火) 18:44:24これが俺にとってのPythonとLispの最大の違いだ。
0579デフォルトの名無しさん
2006/03/21(火) 18:55:38parserモジュールのASTを使って作れないかな。
0580デフォルトの名無しさん
2006/03/21(火) 21:15:12自分で作成する事になるんでないかな。。
0581580
2006/03/21(火) 21:30:090582デフォルトの名無しさん
2006/03/21(火) 23:49:07これはどうだ? google で "PyOpenGL Tiger" で検索したトップのやつなんだけれど
http://py-opengl.darwinports.com/
0583580
2006/03/22(水) 06:23:03ttp://pythonmac.org/packages/ のpanther用バイナリで
ttp://nehe.gamedev.net/ のlesson全部動作したよ
>>582
パッケージシステム導入するほどの事でもない気がする
0584デフォルトの名無しさん
2006/03/22(水) 13:49:060585デフォルトの名無しさん
2006/03/22(水) 14:49:332,KDDI
3,Vodafone
みたいにキーが一意で、名前が対応しているCSVファイルがあってこれをdictにしたいのです。
今は
f = file("names.csv","r")
d = dict()
for f in csv.reader(f.readlines()):
d[f[0]] = f[1]
って書いてdictにしているのですが、どうも汚い感じがして別の書き方があるような気がします。
別の書き方は可能ですか?
0586デフォルトの名無しさん
2006/03/22(水) 14:53:42直接本人に告白してください。
0587ゼウス
2006/03/22(水) 15:04:22d = eval('{' + ','.join( map(lambda line: "%s:'%s'" % (line.split(',')[0],line.split(',')[1].strip()) , open('temp','r').readlines() ) ) + '}')
0588デフォルトの名無しさん
2006/03/22(水) 15:17:34(k,v) = line.strip().split(",")
d[k] = v
0589デフォルトの名無しさん
2006/03/22(水) 15:22:20A.チッ、しょうがねぇな
0590デフォルトの名無しさん
2006/03/22(水) 16:00:35討ち死にしたりするよね?
0591デフォルトの名無しさん
2006/03/22(水) 16:04:48| ノ ヽ
/ ● ● | こいつすげぇアホ!!
| ( _●_) ミ
彡、 |∪| / \
/ __ ヽノ / \ \
(___) / │ │
│ │
/ ヽ
l lUUU
U
0592デフォルトの名無しさん
2006/03/22(水) 16:57:23d = dict(i for i in csv.reader(file("names.csv")))
0593デフォルトの名無しさん
2006/03/22(水) 17:40:00for generator って f( ... ) の中でも使えたのかい。。。知らんかったよ
0594デフォルトの名無しさん
2006/03/22(水) 17:53:56Python 版 JavaCC みたいなパッケージありますかね?
0596デフォルトの名無しさん
2006/03/22(水) 19:29:19ttp://www.dabeaz.com/ply/
マニュアルの訳が以下にある
ttp://members.jcom.home.ne.jp/jintrick/Personal/ply.ja.html
0597デフォルトの名無しさん
2006/03/22(水) 20:09:58Python Lex-Yacc のドキュメント翻訳したひとには敬意を表したい。
乙でつ!
0598デフォルトの名無しさん
2006/03/22(水) 20:18:54はやとちりしてしまった。
0599585
2006/03/22(水) 21:01:33names.csv
1,NTT
2,KDDI
3,Vodafone
match.csv
2005,09,11,1,,D501
2005,10,11,1,,P502
2005,10,11,1,,P503
2006,03,11,2,,A5518SA
2006,03,11,4,,AAAAAAA
out.csv はこうでてほしい
2005,09,11,1,NTT,D501
2005,10,11,1,NTT,P502
2005,10,11,1,NTT,P503
2006,03,11,2,KDDI,A5518SA
2006,03,11,4,,AAAAAAA
import csv
d = dict(i for i in csv.reader(file("names.csv","r")))
outf = file("out.csv","w")
for f in csv.reader(file("match.csv","r")):
if d.get(f[3]) != None:
f[4] = d.get(f[3])
csv.writer(outf).writerow(f)
outf.close()
これでも結構綺麗にしたんですけど、出力のあたりもっと綺麗にできますでしょうか?
0600デフォルトの名無しさん
2006/03/22(水) 22:57:50ありがとー、pantherのでも動くのか!!
0601デフォルトの名無しさん
2006/03/23(木) 05:47:48vd = dict(csv.reader(file('names.csv','r')))
csv.writer(file('out.csv','w')).writerows((y,m,d,i,vd.get(i,'unknown'),t) for y,m,d,i,x,t in csv.reader(file('match.csv','r')))
0602デフォルトの名無しさん
2006/03/23(木) 09:09:25/´ , , ヽヽ
/ ,' / l l | l | ,ハ ヽ.
l l l l l l l /l l い ',
l l l krH-ノノ/ j⊥ l l i
│l l レ⌒ト ' r=kl l | l
,ノ l l、lゞ-' し'lj l j '
// l ,ハ、ト、 ゙ σ ゙ノリ l ,ハ きゃいーん
,/イ /l /⌒ヽ7rュ≦、/ l/ l
ノハ リ /ヘ 、\ハヽ`ーヘ. '
′{ヽ{ ハ、 ` ー`ヽゝ、 \_
ヽ ト-、 ` 、 \ \_
〉、 >-、_ー- \ `\__ _,、
V ,r;ェニニゝ、 、 ,>ュ_-`ー'7,ム
〈_l_/ヽ. \ \_ lY´ `⊃ /ヒノ、
lヽ ヽ、 `ヽ、_>fl ヽ.ヽ/ー^ー'
l ト、 \ /Y__{ ム`ー)′
| i y'⌒'ヘ ! `‐' ̄
l _レヘ ヽ|
´ __ヽ l!
___r-/´ ノ
,.ィ「 ヒf _. -‐ ´|
,イ l| i ハ_>、r'  ̄ | |
| | l|、y‐-v'´ l l
7l. lLL._j l l
| l ヒL二」 l l
ヽヽヾ==ヘ j、 |
\`ー‐'/ 上エエ}
` ̄´ {_ r─ュ}
: : . . 〈 ヾf三ユ‐ュ、
. . : : : : : : : : : : : : ト、 _{__ } : : : : : : .
. : : : : : : : : : : `¬-、��二フ : : : : : : : : . . .
0603585=599
2006/03/23(木) 11:06:21最初理解できなかったのですが、分解してみたら理解できました。
ありがとうございます。
0604デフォルトの名無しさん
2006/03/23(木) 12:39:08file('out.csv','w').write(
'¥n'.join([','.join(m[:4]+[d.get(m[3],''),m[5]])
for m in [l.split(',')
for l in file('match.csv','r').read().strip().split('¥n')]
for d in [dict(r.split(',')
for r in file('names.csv').read().strip().split('¥n'))]]))
0605デフォルトの名無しさん
2006/03/23(木) 14:25:080606デフォルトの名無しさん
2006/03/23(木) 14:37:440607デフォルトの名無しさん
2006/03/23(木) 14:55:590608デフォルトの名無しさん
2006/03/23(木) 16:04:01文字コードの問題なのですが、検索ではUTF-8を使わなくてはいけないようで、
EUC-JPをサイトで使っているので、
文字列queryで検索する時に、
unicode(query, "euc_jp")
として検索結果を取得し、結果の文字列をresultとすると
result.encode("euc_jp")
としているのですが、
UnicodeError: EUC-JP encoding error: invalid character \u017f
となり、変換できない文字があるようです。回避策はあるでしょうか?
0609デフォルトの名無しさん
2006/03/23(木) 16:47:14>>> unicodedata.name(u"\u017f")
'LATIN SMALL LETTER LONG S'
この文字は EUC-JP では表すことのできない多数の文字のひとつ。
result.encode("euc-jp", "ignore") として無視するか、
result.encode("euc-jp", "replace") として所定の置換文字に置き換えるか、
def replace_by_name(exc):
c = exc.object[exc.start:exc.end]
u = "[U+%04X %s]" % (ord(c), unicodedata.name(c))
return unicode(u), len(c)
codecs.register_error("replacebyname", replace_by_name)
result.encode("euc-jp", "replacebyname") のように置換方法を定義して用いるのが良かろう。
0610デフォルトの名無しさん
2006/03/23(木) 17:16:14qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x
where
elts_lt_x = [y | y <- xs, y < x]
elts_greq_x = [y | y <- xs, y >= x]
0611デフォルトの名無しさん
2006/03/23(木) 17:59:21丁寧な解説でわかりやすいです。
基本ですか?。。。
その方法でうまくいきました。ありがとうございました。
0612デフォルトの名無しさん
2006/03/23(木) 18:21:120613デフォルトの名無しさん
2006/03/23(木) 18:58:080614585=599
2006/03/24(金) 11:06:27# (1)一番最初のバージョン
vd = dict()
for f in csv.reader(file("names.csv","r").readlines()):
vd[f[0]] = f[1]
outf = file("out.csv" ,"w")
for f in csv.reader(file("match.csv","r")):
if vd.get(f[3]) != None:
f[4] = vd.get(f[3])
csv.writer(outf).writerow(f)
outf.close()
# (2)ワンライナー
csv.writer(file("out.csv","w")).writerows((y,m,d,i,dict(csv.reader(file("names.csv","r"))).get(i,""),t) for y,m,d,i,x,t in csv.reader(file("match.csv","r")))
# (3)他人が読みずらいので(1)と(2)をちょっとずつ合せてみた
vd = dict()
for vcd,vnm in csv.reader(file("names.csv","r").readlines()):
vd[vcd] = vnm
outf = csv.writer(file("out.csv","w"))
for y,m,d,i,x,t in csv.reader(file("match.csv","r")):
outf.writerow((y,m,d,i,vd.get(i,""),t))
outf.close()
どれが好きです?
意外といろんなやり方があるってわかったのと、for iterator 便利って事がわかったので他のプログラムもしてみます。
0615デフォルトの名無しさん
2006/03/24(金) 11:10:11と思ったら585にあった。
カンマじゃなくてコロンや空白で区切られていたら、
vcd,vnm
を
vcd:vnm とか vcd vnm
にすればいいのかな?勉強になるなぁ
後import が書いてないんですが…?
0616デフォルトの名無しさん
2006/03/24(金) 11:27:52と,自分で書いてて思った
0617デフォルトの名無しさん
2006/03/24(金) 12:20:490618デフォルトの名無しさん
2006/03/24(金) 13:05:10それは
(vcd, vnm) = 要素が2個のリスト
の形の代入の省略形であって、csvのフォーマットとは無関係だよ
0619デフォルトの名無しさん
2006/03/24(金) 13:08:06できたほうが便利じゃないの?
0620デフォルトの名無しさん
2006/03/24(金) 13:20:560621デフォルトの名無しさん
2006/03/24(金) 13:36:35変更できないことが明確であるほうが便利なこともあるからだよ。
0622デフォルトの名無しさん
2006/03/24(金) 13:44:221.4.4 Why are Python strings immutable?
http://www.python.org/doc/faq/general.html#why-are-python-strings-immutable
0623デフォルトの名無しさん
2006/03/24(金) 14:40:35変更したいときは代入しなおせばいいだけだろ
0624デフォルトの名無しさん
2006/03/24(金) 14:42:39ともかくHello Worldしないといけないということでやってみました
で、これは成功して、次の適当な簡単なtest用プログラムをやったらもう動きません
で、これは拡張モジュールがないと動かないですよ、適当に入れて下さい、とさらっと書いてそれでおしまい
そこでgoogleして、行き着いた先が
http://www.python.jp/Zope/articles/tips/mxcgipython
ここです。で、上記のリンク先の
http://www.egenix.com/files/python/mxCGIPython.html
でFreeBSD版を落としました。でMy鯖に一応upしましたが動きません。
同じディレクトリに解凍したバイナリをそのまま放り込んだだけです。
この落とした拡張モジュールの入れ方を教えてください
pythsonはほんの数行のtestプログラム動かすにも本当に拡張モジュールなんかが必要なんでしょうか?
根本的に勘違いしていますか?
My鯖はFreeBSD、Apache、ISP鯖じゃないが共有連鯖、参考にしているサイトは2ちゃんのまとめサイト他
Hello Worldは#! /usr/local/bin/pythonで動いた。動かしたい動作test用プログラムはこれ
import time
(Year, Month, Day, Hour, Minute, Second, Weekday, Day, Dst) = time.localtime(time.time())
print "Content-type: text/html\n\n"
print "<HTML><H1>現在時刻 ", Hour, "時", Minute, "分", Second, "秒です</H1></HTML>"
HPの設置のために鯖を借りてるだけであまりこういうことは詳しくありません。
0625デフォルトの名無しさん
2006/03/24(金) 14:43:580626デフォルトの名無しさん
2006/03/24(金) 14:46:12imp[3:6] = ""
ってできないのは不便だっていいたいんでしょ。
0627デフォルトの名無しさん
2006/03/24(金) 14:50:26下のリンク先の「Unix Target:」ってあたりから読め。
0628デフォルトの名無しさん
2006/03/24(金) 14:52:52つまり拡張モジュールは要らない。
サーバにログインできるなら、サーバでテストプログラムを実行してみ。
動かないならエラーが出るはずだから、それを晒せ。話はそれからだ。
0629デフォルトの名無しさん
2006/03/24(金) 14:56:410630624
2006/03/24(金) 15:19:55(;^ω^)読んでもいまいち意味がわからないんです
>>628
>テストプログラムを実行してみ
今それをやってる最中でして
HELLOは出来るのでpythonが動く鯖であることは間違いないと思います
投稿文が長くなるので貼り付けできませんでしたが、imoprtしてなかったらそこは
無視されて、動くところだけ動くので、別にエラーは出ませんでした
624に貼り付けたものはあれこれやったら動きました
おっしゃるようにこれには拡張モジュールは別に必要ないようでした
0631デフォルトの名無しさん
2006/03/24(金) 15:23:11サーバーでpythonが動くなら、mxCGIっていうのは必要ないよ
0632デフォルトの名無しさん
2006/03/24(金) 15:23:40日本語化って何?(どういうことを期待している?)
0633624
2006/03/24(金) 15:46:11>mxCGIっていうのは必要ないよ
(;^ω^)わかりました
でもpythonを使っているうちには拡張モジュールが必要な場面が出てくるのですよね
拡張モジュールの入れ方を解説したサイトはUNIXを理解できる人じゃないと無理みたいですね
仮に理解できても共有鯖だとtelnetも出来ないし鯖のroot権限がないので
フリーのftpソフトでバイナリをupすることくらいしか出来ないのでは無理なようでした
624のtestプログラムも動いたし、一応My鯖でpythonが動くかどうかのtestをしたい
という今日の目的は達成できましたのでとりあえずはよかったです
おさわがせしました
0636デフォルトの名無しさん
2006/03/24(金) 15:52:35「さくらのレンタルサーバ」で Python 外部モジュールを使う
ttp://www.emptypage.jp/notes/pymods-on-sakura.html
とか参考になると思う。
Pythonはスクリプト言語だからほとんどの場合バイナリでアップする必要はないよ
0637624
2006/03/24(金) 16:21:46これは大変わかりやすいサイトです
助かります
さくらとMy鯖が違うのはシェルが使えるかどうかだけで
後は似たような環境のようです
これを見るとどうも出来そうな気がしてきました
ありがとうございました
0638デフォルトの名無しさん
2006/03/24(金) 16:22:26マジでこれほど簡単で効率的なテスト見たことない
0639デフォルトの名無しさん
2006/03/24(金) 18:37:17Norvig タンのコードテスト が見たいのですが、どこで見られますか?
0640デフォルトの名無しさん
2006/03/24(金) 23:32:04それをpythonで計算するにはどうすれば良いですか。
0641デフォルトの名無しさん
2006/03/25(土) 00:25:12標準偏差と言うか統計関連の計算をしたいと理解すれば良いですか?
PythonよりもRやOctaveを利用する方が適切だと思います。
それでもPythonでやりたいなら
numpyを利用すればとりあえずできます
ttp://sourceforge.net/projects/numpy
もっと簡単に 標準偏差 だけやりたいなら σ にこだわらずに普通に計算でや
ればできます。
0642デフォルトの名無しさん
2006/03/25(土) 00:28:38全部参照するなんてこのスレを愛しているんですね。
過去スレって結構おぼえてないです。
0643デフォルトの名無しさん
2006/03/25(土) 00:57:130644デフォルトの名無しさん
2006/03/25(土) 00:59:01チュートリアル読んだけど、どうも日本語がしっくり来ませんで、
それで本を買おうかと思いました。
0645デフォルトの名無しさん
2006/03/25(土) 01:06:07他言語でのプログラミングの経験のある人が、きちんとPythonの全体を学ぶのに
向いていると思う。個人的には良い本だと思うよ。
今売ってるのは第2版だから、古本屋で間違って第1版を買わないように。w
0646デフォルトの名無しさん
2006/03/25(土) 01:25:08σにこだわらずに標準偏差だけやれれば十分です。
マニュアルにそれらしいのがあったんですが、使い方が分からなかったので。
16045は経済関係の数値です。
0647デフォルトの名無しさん
2006/03/25(土) 01:56:010648デフォルトの名無しさん
2006/03/25(土) 03:58:210649デフォルトの名無しさん
2006/03/25(土) 07:15:15例えば foo(var_name) --> "var_name" みたいな動作をする、
lispで言えば symbol-name みたいな関数です。
0650デフォルトの名無しさん
2006/03/25(土) 10:05:42バッファの殆どないのが16450な
0651デフォルトの名無しさん
2006/03/25(土) 12:14:55... pass
...
>>> import inspect
>>> inspect.getargspec(myfunc)
(['hodge', 'podge', 'foo', 'bar', 'baz'], None, None, ('spam', 'egg', '1'))
>>> def f(a,b,c):
... return inspect.currentframe()
...
>>> fm = f(1,2,3)
>>> fm
<frame object at 0x304d10>
>>> inspect.getargvalues(fm)
(['a', 'b', 'c'], None, None, {'a': 1, 'c': 3, 'b': 2})
>>>
こういうこと?
0652デフォルトの名無しさん
2006/03/25(土) 13:54:34日経平均株価の26日移動平均値です。
時系列データくらい見てから出直そうね。
エクセルでは同等の事は出来るんで、Pythonでのやり方を知りたい
標準偏差を使った指標をエクセルで作る作業を簡便にしたいと思ったからPythonでやれれば便利と思った
答えられないから煽りですか。
煽りはゴミ
0653一生エクセルでやってください
2006/03/25(土) 14:00:410654デフォルトの名無しさん
2006/03/25(土) 14:10:08知 っ て る が お 前 の 態 度 が 気 に 入 ら な い (AA略)
ってことだろうなあ。ボリンジャーバンドかなんか出したいの?素直にどっかのチャートツール
でも使えば?
0655デフォルトの名無しさん
2006/03/25(土) 14:14:05標準偏差の計算法を知らない人だったのか。わろす。
0656デフォルトの名無しさん
2006/03/25(土) 14:46:13出直さんでいい。一生エクセル使ってろ。
0657デフォルトの名無しさん
2006/03/25(土) 14:50:03> 16045の+2σは16630ですが、
> それをpythonで計算するにはどうすれば良いですか。
みたいな質問する奴が,偏差や平均を計算するのにn個データが必要だと
理解してるようには見えんかっただけ.
せめて「n個の時系列データがあるんですが,そこからEx+2σを求めるには
どうしたらいいですか」くらいに説明したほうがいいよ.
ちなみに
Ex = sum(X)/float(len(X))
Vx = sum((x-Ex)**2. for x in X)/float(X)
だよ.これ以上は言わなくても分かるよな.
0658デフォルトの名無しさん
2006/03/25(土) 14:55:44* ナレッジ-標準偏差の計算方法 ?
ttp://syllabus-pub.yz.yamagata-u.ac.jp/amenity/Knowledge/KnowledgeWeb.aspx?DSN=Electrochem&nKnowledgeID=2773
を参照すれば標準偏差は計算式で出せる事がわかると思います。
これは統計学の基本的事項になります。これを知らないと統計は使いこなせません。グラフが出るだけのツールになってしまいまいます。
0659デフォルトの名無しさん
2006/03/25(土) 15:00:410660デフォルトの名無しさん
2006/03/25(土) 15:01:460661デフォルトの名無しさん
2006/03/25(土) 17:26:20質問者は出来合いのライブラリを使ってやりたいんじゃないの
出来合いのライブラ探すより自分で作った方が早そうだけど
0662デフォルトの名無しさん
2006/03/25(土) 17:28:26提出された資料に平均値しかなくてのけぞったことある。
0663デフォルトの名無しさん
2006/03/25(土) 17:31:380664デフォルトの名無しさん
2006/03/25(土) 17:41:170665デフォルトの名無しさん
2006/03/25(土) 19:00:34例えば foo(var_name) --> "var_name" みたいな動作をする、
lispで言えば symbol-name みたいな関数です。
0666デフォルトの名無しさん
2006/03/25(土) 19:04:26>>649へループ
0667デフォルトの名無しさん
2006/03/25(土) 19:47:58... pass
...
>>> import inspect
>>> inspect.getargspec(myfunc)
(['hodge', 'podge', 'foo', 'bar', 'baz'], None, None, ('spam', 'egg', '1'))
>>> def f(a,b,c):
... return inspect.currentframe()
...
>>> fm = f(1,2,3)
>>> fm
<frame object at 0x304d10>
>>> inspect.getargvalues(fm)
(['a', 'b', 'c'], None, None, {'a': 1, 'c': 3, 'b': 2})
>>>
こういうこと?
0668デフォルトの名無しさん
2006/03/25(土) 21:55:47、部屋で横になって裸でだきあいます。それがだんだんエスカレートしていって、学校の体育倉庫で
服をぬがされ、まだ3年生ですが学年で1番大きいおっぱいを、つかむように触られたり、しゃぶった
りされます。最初は、苦手だったんだけどだんだん気持ちよくなりサイコーです。しかも、わたしは
、学年1美人でもてます。彼も同じで、美男美女でよくみんなにうらやましく、思われます。
: : このカキコ見たあなたは4日後に不幸がおとづれ44日後に死にます。それがイヤならコレをコピ
ペして5ケ所にカキコして下さい。私の友達はこれを信じず4日後に親が死にました。44日後友達は
行方不明・・・・。いまだに手がかりもなく私はこのコピペを5ケ所に貼り付けました。すると7日後
に彼氏ができ10日後に大嫌いな人が事故で入院しました。
: : 信じる信じないは勝ってです
0669デフォルトの名無しさん
2006/03/25(土) 23:06:53買ってましたよ。
>>654
分かりますが、何か?
チャートツールも使ってるさ
>>657
解答ありがとうございます。
確かに聞き方も悪かった
マニュアルを標準偏差で検索すると引っかかるのがあるので、それが使えないものかと思った
エクセルのSTDEVPと同等の事を簡便に出来れば便利と思った
他の煽りはやはりゴミ
教えてくださいスレで初心者煽っておもしろいですか。
>>661
そういうことです。
0670デフォルトの名無しさん
2006/03/25(土) 23:09:20ここはPythonの初心者は歓迎するが、統計の初心者に標準偏差の計算法を教える
スレではないのであしからず。
0671デフォルトの名無しさん
2006/03/25(土) 23:25:46つーか、Pythonのヘルプに書いてある以上のことをしたいなら
自分で作るかモジュールを探すかしろ。それかmath.pyを見れ。
0672デフォルトの名無しさん
2006/03/25(土) 23:56:212SDってピッタリ95%になるんじゃないんだね、すごいびっくりしました。スレ違いですが。
0673デフォルトの名無しさん
2006/03/26(日) 03:07:400674デフォルトの名無しさん
2006/03/26(日) 03:13:30コピペ厨氏ね
0675デフォルトの名無しさん
2006/03/26(日) 08:33:01複数ファイルからTATAという文字列を検索するための、下記のようなサンプルプログラムが
http://www.pyzine.com/Issue008/Section_Articles/article_SnakesAndMolecules.html
というサイトにあったのですが、ループになって終了しませんでした。
import glob
fastaFiles = glob.glob("*.fa")
tataCount = 0
slideWindow = 4000
overlap = 3
for fastaFile in fastaFiles:
currFile = open(fastaFile, "r")
idxLine = currFile.readline()
currSeq = currFile.read(slideWindow).strip().replace("\n","")
while currSeq:
tataCount += currSeq.count('TATA')
currFile.seek(-3,1)
currSeq = currFile.read(slideWindow).strip().replace("\n","")
print tataCount
なんか最後のseekでちょっとづつ戻ってるので、コレぜったい間違って
ると思うんです。ループの最後にif len(currSeq) < 4: breakを足したらできたんですが、
もしなんか勘違いしてるようでしたらご指摘ください。
0676デフォルトの名無しさん
2006/03/26(日) 08:35:18すいません。
0677デフォルトの名無しさん
2006/03/26(日) 08:41:06度々すいません。
0678エクセルでお幸せに
2006/03/26(日) 09:54:46>初心者煽っておもしろいですか。
どう見ても煽りのプロです
本当にありg(ry
0679デフォルトの名無しさん
2006/03/26(日) 09:58:13ぉぃぉぃ… 正規分布とかあーだのこーだの…
それに "95%ピッタリ" なんて奇妙な数字になるわけないじゃん
まあ統計の話はスレ違い過ぎるから教科書とか見てくれとしか
言いようがないが。
0680デフォルトの名無しさん
2006/03/26(日) 10:43:56もう2回も答え貼り付けたんだけど. >>666 はそれに気付けって言ってるだけ.
0681デフォルトの名無しさん
2006/03/26(日) 10:54:20TATAを検索するだけでは,あるループで読んだスライディングウィンドウの末尾
が '...CCGTAT' で,次のループで 'ATCGG....' のようになってると,ウィンドウの
境界にある TATA ボックスを見逃してしまう.それを防ぐために -3 してるだけ
なので,-3 するのは間違いではないよ.
if len(currSeq) <4: break すると,最後から2つ目のウィンドウが T で終わっていて,
最後に読んだ配列が ATA のとき,末尾の TATA を見逃してしまう.
0682デフォルトの名無しさん
2006/03/26(日) 11:14:43僕は良くわかりません。
0683デフォルトの名無しさん
2006/03/26(日) 11:58:13最近知ってそこだけは詳しくて薀蓄垂れたいから
自分でネタふってるってのは、2ちゃんの常識
0684デフォルトの名無しさん
2006/03/26(日) 12:13:01>普遍分散ってわかりますか?
>僕は良くわかりません。
不偏分散なら知ってるけど,普遍分散なんてGoogleでしか見たことない。
0685デフォルトの名無しさん
2006/03/26(日) 13:44:310686デフォルトの名無しさん
2006/03/26(日) 13:48:26違った特異分散
0687デフォルトの名無しさん
2006/03/26(日) 13:58:39これらの中で将来性があるのはどれですか?
またどういうものなのですか?
0688デフォルトの名無しさん
2006/03/26(日) 14:49:470689デフォルトの名無しさん
2006/03/26(日) 15:28:01「あとなんだっけ」に全てを汲んでやれよ。
0690デフォルトの名無しさん
2006/03/26(日) 15:56:500691デフォルトの名無しさん
2006/03/26(日) 15:59:16このレスをみたあなたは・・・3日から7日に
ラッキーなことが起きるでしょう。片思いの人と両思いになったり
成績や順位が上ったりetc...でもこのレスをコピペして別々のスレに
5個貼り付けてください。貼り付けなかったら今あなたが1番起きて
ほしくないことが起きてしまうでしょう。
コピペするかしないかはあなた次第...
○。・。○。・。○。・。○。・。○。・。○。・。○。・。○。・。○
0692デフォルトの名無しさん
2006/03/26(日) 16:09:16「喫煙」「飲酒」「深夜徘徊」「無断外泊」「風俗店への立ち入り」などに加えて
「出会い系サイトの利用」「県条例で有害情報と認定されたサイトの閲覧」
「インターネット上の掲示板やメールなどで他人を中傷する行為」を「不良行為」と定義し、補導対象行為としたもの。
http://slashdot.jp/article.pl?sid=06/03/25/1434254&from=rss
0693デフォルトの名無しさん
2006/03/26(日) 16:16:430694デフォルトの名無しさん
2006/03/26(日) 16:30:43あれはモジタンが悪いんであって
Zope自体は結構いけると思うぞ。
0695デフォルトの名無しさん
2006/03/26(日) 16:47:42ただ日本じゃコミュニティが壊滅的な状況だけどorz
0696デフォルトの名無しさん
2006/03/26(日) 17:51:210697デフォルトの名無しさん
2006/03/26(日) 18:18:06djangoもTurboGearsもweb.pyもZope3も敷居が高いんだよな。
Zope2はブラウザだけでチョイチョイと弄れるので楽チンでいい。
0698デフォルトの名無しさん
2006/03/26(日) 18:32:49::::::::::::::::::| | ,.</__\
::::::::::::::::::| |-‐く /  ̄|
::::::::::::::::::| |:::::::;:`'ー-....,,,,___iヽ、
::::::::::::::::::| |::::::;、:::;::::;::::::;::::::::::::ハ
::::::::::::::::::| |:::/!,.ゝ!、ハ::::ハ::;i:::,::::ト,
::::::::::::::::::| |;:イ〈 {,_r/ レ' レ_.!,ハイ:::!
::::::::::::::::::| |::|"" 〈ン'〉!/|:ハ 天狗じゃ、天狗の仕業じゃ!
::::::::::::::::::| |::ハ . _ ` "!:::::|:|
::::::::::::::::::| |::ヽ!ヽ、._ _,,..イイ:::ハ|
::::::::::::::::::| |Y7´! ,.イ⌒ヽレi::レ'
::::::::::::::::::L,.!、! !_/ 〉ノ,....、__
:::::::::::::::::と_ ヽ.,ムゝ-=、_ンイ:::・:(<
::::::::::::::::::k,_ i /^'^'7!:::::`'::::::::!ソ
::::::::::::::::::| i\ `ヽ /! `>:::::ノ
::::::::::::::::::| | _ヽ、_ノ 〉く/ゝゝ
::::::::::::::::::| |ヽ、 /::::\
0699デフォルトの名無しさん
2006/03/26(日) 19:52:100700デフォルトの名無しさん
2006/03/26(日) 22:41:57うーん、でも止まっちゃうんですよね。もう少し考えてみます。
0701デフォルトの名無しさん
2006/03/26(日) 23:07:27がんばれー。
厳密には、eofに到達したかどうかチェックしながらseek
しないといかん気がするけど、僕は675の対処法で良さそうに
思うのだけど。
ところで、「複数のファイル」に意味はあるの?
0702デフォルトの名無しさん
2006/03/27(月) 08:06:36確かにおかしいわ。
while len(currSeq)>3:
のようにしたらどう?
0703デフォルトの名無しさん
2006/03/27(月) 08:08:00一つのゲノム配列が(たとえば染色体毎とかで)複数のFASTAに分割されることは
よくあるので,意味はあると思うよ.
0704デフォルトの名無しさん
2006/03/27(月) 09:21:49ファイル1
...AGTA
ファイル2
TAGC..
となってる TATA も抽出したいんなら、件のアルゴリズムじゃ無理だと
思うんだけど、どうなの?
(つーか、cat てstdinから喰わせたり、shellのforで一つづつ数えたのを合計したり、もうちょっとマシな方法はありそうな気がするが)
0705デフォルトの名無しさん
2006/03/27(月) 09:49:32_/´- \
―――― / / ./ヽ `ヾ ヽ そんなエサはイナバウアーで
/ / |∩| 彡\ | スルーだクマー
―― | ミ ( ● ) | ヽ ). |
| | | ● ● / / / .|
(_/ ヽ /| (_/\ |
∪ ̄ ̄_|U⌒´|. | |
.(___) |`⌒´|_
──────── ┻┻ .(___)
──────── ┻┻
0706デフォルトの名無しさん
2006/03/27(月) 10:08:02ゲノムの大きな生物のFASTAファイルは数百MBytesになることもあるから、cygwinで
catしたりするとメモリの小さいマシンでは動かなくなってしまう。
0707デフォルトの名無しさん
2006/03/27(月) 23:19:36繋がりを考えなくていいんならあのアルゴリズムで良さそうね。
ところで、cygwinのcatはFSFのcatなので、デカいファイルを読んだからって別にメモリをバカみたいに喰うっつーことはないと思うよ。
0708デフォルトの名無しさん
2006/03/27(月) 23:25:12>繋がりを考えなくていいんならあのアルゴリズムで良さそうね。
>ところで、cygwinのcatはFSFのcatなので、デカいファイルを読んだからって別にメモリをバカみたいに喰うっつーことはないと思うよ。
>
あれ?cygwinで"cat hogehoge |"したときって、パイプの直前に巨大なウンコが溜まらない?
0709デフォルトの名無しさん
2006/03/28(火) 09:33:22)
(
,, ) )
゙ミ;;;;;,_ (
ミ;;;;;;;;、;:..,,.,,,,,
i;i;i;i; '',',;^′..ヽ
゙ゞy、、;:..、) }
.¨.、,_,,、_,,r_,ノ′
/;:;":;.:;";i; '',',;;;_~;;;′.ヽ
゙{y、、;:...:,:.:.、;:..:,:.:. ._ 、}
".¨ー=v ''‐ .:v、,,、_,r_,ノ′
/;i;i; '',',;;;_~⌒¨;;;;;;;;ヾ.ミ゙´゙^′..ヽ
゙{y、、;:...:,:.:.、;、;:.:,:.:. ._ .、) 、}
".¨ー=v ''‐ .:v、冫_._ .、,_,,、_,,r_,ノ′
/i;i; '',',;;;_~υ⌒¨;;;;;;;;ヾ.ミ゙´゙^′.ソ.ヽ
゙{y、、;:..ゞ.:,:.:.、;:.ミ.:,:.:. ._υ゚o,,'.、) 、}
ヾ,,..;::;;;::,;,::;):;:;:; .:v、冫_._ .、,_,,、_,,r_,ノ′
0710デフォルトの名無しさん
2006/03/28(火) 14:39:21|-ー':.:.:.:.:.:ヽ _ノ:.:.:.:.:.:.:.:`ー-:.:.:!
!:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:!
l--ー― ''''''""""````'''''' ―ー-l
__,,,, -―''''''"" ̄ ̄ ̄ ̄ ̄ ̄ ̄` ''';;;;―- ,,,,__
, ''":.:.:.:.:.:.:.:.:.:._,, -ー=ニニ;, ""i!r=ニニ==''ー-、:.:.:.:.:.:.:.:.:.゛` 、
(:.:.:.:.:.:.:.:.:.:.:.:.:.ヾ'i;;;| ;=ニ( )ヽノi ミ{;<( )ニ=、 |;;;il/:.:.:.:.:.:.:.:.:.:_ノ
``''' ―ー- ;;_:i`! /` - '", ';;; ⌒ ;;;`,;;`''' ヾ l,'"`;―ー '''"´
l | /i ;;ハ ` ノ l.ソ .l
.| l. ./`-=、_,=-ノ、 i !/ .,'
!.' , i! l ! ゙i! l! .,' / まるでそびえ立つクソだ!>>709
`-ゝ i! ;,'"⌒゛ヽ,; .i! .,' ‐"
', i! (~i ̄ ̄i~! .| ./
,,-―、 /:..l .l! |! ',t--ーt/ i! / ,'
/i :::', ,./:.:.:.', ',', ` -ー' . ノ .,' /,,,__
ノ.i ', :::! '゙:.:.:.:.:.:.ヽヽ `''''''" / ,' ',`-ヽ二二ニ'' ー-、
__,,,.! .ヽゝ ,,,_:!:.:.:.:.:.:.:.:.:.:` \.、 __ノ./ ',:.:.:.:\:.:.:.:.:.: ̄ ̄` 、
, '":.:.:/ ;; ::::|:.:.:.:.:.:.:.:.:.:.:.:.:\ニ二ニ- '"ヽ、 ',:.:.◎:.:、:.:.:.:.:.:.:.:.:.:.:.:.\
, '":.,!ヾ ...:::::::::!ヽ,:.:◎:.:.:.:.:.:.:.:.\ /ヽ_,,,,_|::\',:.:.:.:.<:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.i
0711デフォルトの名無しさん
2006/03/28(火) 15:09:150712デフォルトの名無しさん
2006/03/28(火) 15:35:450713デフォルトの名無しさん
2006/03/28(火) 16:19:340714デフォルトの名無しさん
2006/03/28(火) 16:49:450715デフォルトの名無しさん
2006/03/28(火) 18:42:430716デフォルトの名無しさん
2006/03/28(火) 20:50:57外では桜が咲いてるんですね(w
0717デフォルトの名無しさん
2006/03/28(火) 22:04:27そ ん な に ひ ま な ら
て つ だ え よ
0718デフォルトの名無しさん
2006/03/28(火) 22:10:520719デフォルトの名無しさん
2006/03/28(火) 22:17:30横読み。
0720デフォルトの名無しさん
2006/03/28(火) 22:48:310721デフォルトの名無しさん
2006/03/28(火) 23:39:070722デフォルトの名無しさん
2006/03/29(水) 00:15:440723デフォルトの名無しさん
2006/03/29(水) 03:02:06このスレを取得し”春”を含むレスに”春爛漫おぱいそん”とレスするプログラムを作れ
0724デフォルトの名無しさん
2006/03/29(水) 03:05:06レス無限増殖の悪寒。作っても動かしちゃ駄目だぞ。w
0725デフォルトの名無しさん
2006/03/29(水) 17:55:240726デフォルトの名無しさん
2006/03/30(木) 09:46:52イワズモガナー
0727デフォルトの名無しさん
2006/03/31(金) 23:35:150728デフォルトの名無しさん
2006/03/32(土) 01:17:17なんか日本語対応のサンプルがあれば見せてもらいたんだが… お願いします。
0729デフォルトの名無しさん
2006/03/32(土) 18:05:03日本語対応って、例えば From: や Subject: をデコードして表示するとか
そういうことを言っているの?
0730デフォルトの名無しさん
2006/03/32(土) 22:10:330731デフォルトの名無しさん
2006/04/11(火) 19:33:030732デフォルトの名無しさん
2006/04/11(火) 20:13:450733デフォルトの名無しさん
2006/04/11(火) 20:16:250734デフォルトの名無しさん
2006/04/11(火) 20:49:120735デフォルトの名無しさん
2006/04/12(水) 00:09:42| .,.:/"" ゙‐,. ` /
` .,-''ヽ"` ヽ,,,、 !
、,、‐'゙l‐、 .丿 : ':、
、/ヽヽ‐ヽ、;,,,,,,,,,-.ッ:''` .,"-、
,r"ツぃ丶 `````` ../ `i、
,.イ:、ヽ/ー`-、-ヽヽヽ、−´ .l゙`-、
_,,l゙-:ヽ,;、、 、、丶 ゙i、,,、
,<_ l_ヽ冫`'`-、;,,,、、、、.............,,,,、.-`": │ `i、
、、::|、、、ヽ,、、. ```: : : ``` 、.、'` .|丶、
.l","ヽ、,"、,"'、ぃ、、,、、、、.、、、.、、、_、.,,.ヽ´ l゙ ゙).._
,、':゙l:、、`:ヽ、`:、 : `"```¬――'''"`゙^` : ..、丶 .l゙ `ヽ
,i´.、ヽ".、".、"'ヽヽ;,:、........、 、、...,,,、−‘` 、‐ |゙゙:‐,
,.-l,i´.、".`ヽ,,,.".` `゙゙'"`'-ー"``"``r-ー`'": _.‐′ 丿 ,!
j".、'ヽ,".、".、"`''`ー、._、、、 、._,、..-‐:'''′ .、,:" 丿
゙l,"`"`''ヽヽ"`"` ```゙'''"ヽ∠、、、、ぃ-`''''": ` 、._./` ._/`
`'i`ヽヽヽ`''ーi、、、: : 、.,-‐'` 、/`
``ヽン'`"` : `~``―ヽ::,,,,,,,,,,.....................,,,,.ー'``^ ,、‐'"`
`"'゙―-、,,,,..、、 : ..,、ー'"'`
: `‘"`―---------‐ヽ``"''''''""
0736デフォルトの名無しさん
2006/04/12(水) 01:39:48PyJUGのチュートリアルは、無料で読める文書としてはイケている
ttp://www.python.jp/doc/release/tut/
0737デフォルトの名無しさん
2006/04/12(水) 10:19:50:: --, -ヽ
、 l _, ( )
ヽ/⌒ヘ~ : ──--, --
., 't,_,ノ丶 ( : )
/ ! '` | ──-- -- ' ノ
,/ ● L_/ 'i,
/ l ,/ ● i,
'i しii 丿 うんち気持ちいい!!
|`:、\ 'ii __,/
'i、 ̄~~ ij 乙__ノi ちょ〜〜気持ちいい!!
^-ァ __,ノ
' 'l
! l
'!, ,_ ,!_
\ l,~^''‐--::,,⊃ ) ) ) )
`'‐’
0738デフォルトの名無しさん
2006/04/12(水) 11:57:020739デフォルトの名無しさん
2006/04/12(水) 18:41:490740デフォルトの名無しさん
2006/04/13(木) 03:29:360741デフォルトの名無しさん
2006/04/13(木) 04:15:120742デフォルトの名無しさん
2006/04/13(木) 22:31:45$ python manage.py runserver
のあとは、なにすればいいの?
とりあえず動くサンプルコード or URLちょうだいm(_ _)m
0743742
2006/04/13(木) 22:35:05もやりました
0744デフォルトの名無しさん
2006/04/13(木) 22:42:30., , メ-‐'" _"',| .、、._,i.""│._、
._,,,/`,イ―'' ,`",l゙、、,,ジ'"`.```.|゙゛
.,,,-,i´,―--―''" 、、,!冖'"`、_、,,,/'゚,,."゙l-‐''
_,,,,,,,,,,,,,、 _,,,,,--''"`'",/゙ 、、.',j/′.、,,∠''"` .'_ヽ.',゙l.._,,、
,,-'"゙` `゙゙''lーイ"` .‐′ _,..,,/ .ヽ、,i,i´ ``゙’ 、、シ":"'.「
.,,i´ `'i、\ ゙!, ._,-'"ン'` 、、`_,/`,i´ _,___,ニ='" .'゙、゙".゙l,,-'`
.,/′ `'i,\ ′ .,,,,-',,,,、.,i´、_:_'_v`"゙i、| ```` ` 、_,Jィ""゙l, _,,,,、
: ,i´ ゙l. ヽ丶 .r‐'"、.l゙、、:,p=l┴丶 .!,,! `'"''''''冖''?'''゙~."""'."'/゛ `
: |,,r ゙l, 、 i、、、、:,,_,xl!ヴi,、 、、っ,,,, 、`',,,,、`、`、|、
|、 、"| .i、 lrr-''"゙,,ハ;、-'"゙゙'''''''"丶ヽ.,,冫``~`"`"~"``` `/ `''''
`''r,,、 、 、、 .、丶、.``ヽ,レ"° `` .j゚'=∠、````,,,,,∠ ~'ヽ```````、_,r‐'ヘi、
`゙'ーi,,_、、、、、: :._,,,r〃 " /^゚"'广 ,/ .,/゙゙゙'''ヶ―''''″ `
`゙^""""''"'"
0745デフォルトの名無しさん
2006/04/13(木) 22:55:39Error: Your action, 'syncdb', was invalid.
Run "manage.py --help" for help.
と、なるのはなんでか?
0746デフォルトの名無しさん
2006/04/14(金) 01:02:53この一連のチュートリアルは良くできてると思うけど。
http://www.djangoproject.com/documentation/tutorial1/
チュートリアル読みながら実験して、
とりあえず動くもの作って、
それから先は jango 自体のコード読む、
みたいな感じでやるしかないんじゃまいか。
0747デフォルトの名無しさん
2006/04/14(金) 02:21:160748デフォルトの名無しさん
2006/04/14(金) 08:51:16(__)
(__)
( ・∀・) ))
/つ( ̄`ヽO_ノ⌒ヽ さてと、そろそろ寝るか
ノ ) \ ))
(__丿\ヽ :: ノ:::: )
丿 ,:' ))
(( (___,,.;:-−''"´``'‐'
人
(__)
(__) < 寝る前にウンコー!!
( ・∀・ )
/ _ノ⌒⌒⌒`〜、_
( ̄⊂人 //⌒ ノ ヽ)
⊂ニニニニニニニニニニニニニニ⊃
0749django
2006/04/14(金) 16:19:30で、MySQLdb/connections.py が
ValueError: year is out of range
とでて、先に進めない。orz
djangoなひとって、やっぱりpostgresなの?
0750デフォルトの名無しさん
2006/04/14(金) 16:29:050751デフォルトの名無しさん
2006/04/14(金) 17:38:05SQLite使ってチュートリアルした時は、特に問題でなかったお( ^ω^)
0752django
2006/04/14(金) 18:24:49もうだめだ、DB変えてやってみる
0753デフォルトの名無しさん
2006/04/14(金) 18:38:130754デフォルトの名無しさん
2006/04/14(金) 18:40:160755デフォルトの名無しさん
2006/04/14(金) 18:40:290756django
2006/04/14(金) 20:12:42たとえば「_h_h_h_h」とか入れるとなる
なんだったんだろ?
0757django
2006/04/14(金) 22:01:39urls.pyのところはイマイチよくわからなかったけど。
0758デフォルトの名無しさん
2006/04/14(金) 22:50:190759デフォルトの名無しさん
2006/04/15(土) 00:16:58環境設定までの道のりをもっとPLONEみたいに簡単になれば最高なんだけどな。
で、話し変わるけど、仕様がサッパリのthreadモジュールについて質問。
import thread
logs = ""
def func(a, b):
global logs
do this
do that
…
for i in range(10):
args = (a,b)
thread.start_new_thread(func, args)
f = open("log.txt","w") #全スレッドが終了した後に保存したい
f.write(logs)
f.close()
的なことをやりたいんだけど、各スレッドの作業が終わる前にメインが終わっちゃうんだけど、
みんなはスレッド使うときどうしてる?
0760デフォルトの名無しさん
2006/04/15(土) 00:22:560761デフォルトの名無しさん
2006/04/15(土) 00:24:33デーモンスレッドにわざわざ設定しなければ、メインスレッドは待ってる
0763デフォルトの名無しさん
2006/04/15(土) 15:58:52/ _)
/ ..::::ヽ,
ゝ――::::::く
( ..:::::::)
・. 。ゝ―― ..:::::'、゚ +
ウンコキタ.*゜( O lーl O ::) * ゜
* ゝ,, ヽ/ ..:'、 。
(⌒ ⌒)
`^> r '
0764デフォルトの名無しさん
2006/04/15(土) 22:53:43for line in sys.stdin.readlines():
print line,
を main.py とかいう名前で保存して、
main.py < "test.txt"
などとやると
Traceback (most recent call last):
File "C:\work\main.py", line 3, in ?
for line in sys.stdin.readlines():
IOError: [Errno 9] Bad file descriptor
といわれます。どうすればよいのでしょうか?
0765デフォルトの名無しさん
2006/04/15(土) 23:21:16/⌒⌒""☆ ( ヽ 〜 プーン
//ノノノ"\ヽ ( ) 〜
|(| ∩ ∩|)| (____) 〜
从.、 ▽ ノjl| /\⌒彡
/ \ | || .|\/ ̄
へ _ V ノ / < ウンコ投げまくり♪
/  ̄ 只 |
/ ) || | |
/ ノ \_〓ノ\
/\/ / | \\)
\/ / | \/
彡 / \ ________|___ /
| | |
| | |
0766デフォルトの名無しさん
2006/04/15(土) 23:57:56l | |l / / / // || l l l l
| | ||/- .._/ / 〃 || l ト l |
| | ||| /_,.===一' L ___LLl | |
─w√レ─ | | | / /::::::::丶 /::::�_|ハ l |─v─w√レ─
| 」 | / {:::::::::::::| l::::::::l i ハ/ |
| / | | ヽニニソ lr-‐ソ i ハ |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0767デフォルトの名無しさん
2006/04/16(日) 02:36:07DOSでは
python main.py < test.txt
とやらなければいけない。
なぜかは知らん。
0768デフォルトの名無しさん
2006/04/20(木) 01:58:500769デフォルトの名無しさん
2006/04/20(木) 02:06:53断れ!
0770デフォルトの名無しさん
2006/04/20(木) 09:36:29次期案件の提案に使いたいのだけど。
0771デフォルトの名無しさん
2006/04/20(木) 09:40:53人 ウンコー!
(___)
(___) 今日は久しぶりに
(○) (∀・,, ) 外に出たんだ
ヽ|〃 (∩∩ )
0772デフォルトの名無しさん
2006/04/20(木) 09:50:020773デフォルトの名無しさん
2006/04/20(木) 11:29:24人
(__) |
(__)∩⊂⊃
⊂´⊃( ・∀・)/ | ♪
人 | !⌒!!⌒!つ ,-=-
(__) 〔〕 ||,─、(⌒)─、 | |
(__)|||o ( ○ )( ○ )||.| 人
( ・∀・||| / `ー ´ `ー- /へ (__)
( つ/|||ゝ ∩(__)
> / ぺ> |(・∀・ )〜♪
し´し´ 人 ._ ┌┴--っ )
(__) 非 | [|≡(===◇
(__) // `(_)~丿
( ・∀・)ハ_/Cハ ∪
⊂ .) 呂~/
.) .(__.) 〜♪
(_/\_.)
0774デフォルトの名無しさん
2006/04/20(木) 12:40:13最近話題の各種フレームワークとかはあちこちで
使われてるんじゃないの?
django だと washington post とかだったっけ?
0775デフォルトの名無しさん
2006/04/20(木) 21:31:530776デフォルトの名無しさん
2006/04/20(木) 22:21:58まだ商用とは言えないけど
ttp://kizasi.jp/
0778デフォルトの名無しさん
2006/04/21(金) 00:20:34あまりに重いんで普通に開いてるだけで
サーバに負荷を与えてるんじゃないかって
0779デフォルトの名無しさん
2006/04/21(金) 14:29:52http://www.python.org/about/success/#business
0780デフォルトの名無しさん
2006/04/21(金) 17:37:57(__)
(∞_)
川*‘ヮ‘) うんこ初心者だけど
( つ旦O よろしくです〜
と_)_)
0781デフォルトの名無しさん
2006/04/22(土) 02:00:43ウィンドウからF5を押します。
import先のファイルを修正したのち、メインのプログラムを上記の方法で
実行しても、修正が反映されないことがあるのですが、IDLEを再起動する以外に
打つ手はあるのでしょうか?
0782デフォルトの名無しさん
2006/04/22(土) 02:15:30reload(モジュール名) とか。
0783デフォルトの名無しさん
2006/04/22(土) 08:41:57PyMan・・・Python Manual や
PyUnCo・・・Python Universal Collection みたいなの、だれか作ってくれよ。
0784デフォルトの名無しさん
2006/04/22(土) 09:17:500785デフォルトの名無しさん
2006/04/22(土) 16:24:570786デフォルトの名無しさん
2006/04/22(土) 16:53:39プログラムをカラー画像で実行するとうまくいくのですが,
モノクロ画像を入力するとputpixelが呼ばれた時点で終了してしまいます.
とりあえず今はopenして開いたimageをimage2にコピーしてputしているのですが
何が問題か分かるかたいますか?
import sys, Image
im = Image.open(sys.argv[1])
(w, h) = im.size
for x in range(h):
for y in range(w):
v = im.getpixel((x, y))
im.putpixel((x,y), v)
0787デフォルトの名無しさん
2006/04/23(日) 05:28:10つ[座標]
0788デフォルトの名無しさん
2006/04/23(日) 09:47:26Python2.4.2インストール済みの環境で,
利用したいモジュールが2.3.xまでしか対応していなかったため,
別ディレクトリに2.3.5をインストールしたいと考えています.
利用する時に適当にパスを通してやれば大丈夫かな,と考えているのですが,
複数のバージョンをインストールすると何か不具合等が出たりするのでしょうか?
0789デフォルトの名無しさん
2006/04/23(日) 10:25:21''';;';'';';''';;'';;;,., ザッザッザ・・・
;;''';;';'';';';;;'';;'';;;
;;'';';';;'';;';'';';';;;'';;'';;;
vy;vy;v:yy;vy;v;yv;yv、
うんこスレと聞いて λVv vλ v;y v Vv vλv;y λv、
参りました λ Λ __ λ_ Λ _ヘ λ λ ヘ__ λ_ヘ λ λ
人 人 λ 人 人 人 __λ人 人 人
人 人 人 人 人 人 人 人 人
人(__人(_人 ) 人 (人.人__).人___) 人( 人
(__)__(__)_(__)(__)(__)__) (__)__(__)(__)
(__)(__(__)___(__)__)(__)(__)__)
( ・∀・ ( ・∀( ・∀・ )∀( ・∀・ )・( ・∀・ ) ・∀・ )∀・ )
0790デフォルトの名無しさん
2006/04/23(日) 11:33:32きちんと分けてあれば特に問題ないお( ^ω^)
0791デフォルトの名無しさん
2006/04/23(日) 11:47:35''';;';'';';''';;'';;;,., ザッザッザ・・・
;;''';;';'';';';;;'';;'';;;
;;'';';';;'';;';'';';';;;'';;'';;;
vy;vy;v:yy;vy;v;yv;yv、
λVv vλ v;y v Vv vλv;y λv、
λ Λ __ λ_ Λ _ヘ λ λ ヘ__ λ_ヘ λ λ
人 人 λ 人 人 人 __λ人 人 人
人 人 人 人 人 人 人 人 人
人(__人(_人 ) 人 (人.人__).人___) 人( 人
(__)__(__)_(__)(__)(__)__) (__)__(__)(__)
(__)(__(__)___(__)__)(__)(__)__)
( ・∀・ ( ・∀( ・∀・ )∀( ・∀・ )・( ・∀・ ) ・∀・ )∀・ )
0793デフォルトの名無しさん
2006/04/23(日) 13:29:45うんkwo挟むのが流行りなのか?
0794デフォルトの名無しさん
2006/04/23(日) 13:40:060795786
2006/04/23(日) 13:53:26縦横同じ幅なのでやはり同じエラーがでてしまいました.
import sys, Image
im = Image.open(sys.argv[1])
(w, h) = im.size
for y in range(h):
for x in range(w):
v = im.getpixel((x, y))
im.putpixel((x,y), v)
0796デフォルトの名無しさん
2006/04/23(日) 14:42:18おいしいものたべて
うんこしたらなおるよ!
人
(__)
人 (__)∩ 人
(__) .( ・∀・ )/ (__)
人 (__) ⊂ ノ .(__) .人
(__) .('(・∀・∩ (つ ノ ∩・∀・)') .(__)
.(__) ヽ 〈 (ノ .〉 / (__)
('(・∀・∩ ヽヽ_) (_ノ ノ ∩・∀・)')
人O,_ 〈 〉 ,_O.人
(__) `ヽ_) (_/ ´ (__)
.(__) な お る よ ! (__)
⊂(・∀⊂⌒`⊃ ⊂´⌒⊃∀・)⊃
0797デフォルトの名無しさん
2006/04/23(日) 17:22:17コピペにうつつを抜かしている香具師が約一名いるだけだろう。
正直つまんないしウゼェんだけど、罵倒するのも面倒なんでスルーしてる。
>>795
Pythonのバージョン(実行環境)とPILのバージョンは?
俺の環境では二値画像でもグレイスケール画像でもエラーは起きない。
0798デフォルトの名無しさん
2006/04/23(日) 17:45:54im を開いて,im からピクセル値を読み出してまた im に書き込んでるけど,実際は im_a を開いて, im_a からピクセル値を読み出して, im_b に書き込んでいるんじゃないの.
Image.getpixel() は,グレイスケール画像の場合は輝度値を表す数値を返す:
>>> im_b = Image.open('grayscale_img.png')
>>> im_b.getpixel((10, 10))
108
カラー画像だと,RGBまたはRGBAの各チャネルの強度を表すタプルを返す:
>>> im_a = Image.open('rgbcolor_img.png')
>>> im_a.getpixel((10, 10))
(115, 109, 93)
Image.putpixel() は,カラー画像の場合,タプルか数値を指定できる.タプルを指定する場合は RGB または RGBA の各チャネルの強度.数値を指定すると,R の強度を指定したものとみなされる.
>>> im_a.putpixel((10,10), (50, 80, 100))
>>> im_a.getpixel((10,10))
(50, 80, 100)
>>> im_a.putpixel((11,11), 100)
>>> im_a.getpixel((11,11))
(100, 0, 0)
グレイスケールの場合,数値で輝度値を指定できるが,タプルを指定するとエラー.
>>> im_b.putpixel((100,100), (256,10, 10))
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/PIL/Image.py", line 1165, in putpixel
return self.im.putpixel(xy, value)
TypeError: an integer is required
というわけ.
0799786
2006/04/23(日) 18:14:15プログラムの省略はしていません.
エラーが出るというか,実行時に
問題が発生したため,python.exeを終了します
みたいなエラーがでて終了する感じです.
0800デフォルトの名無しさん
2006/04/23(日) 20:13:40(__)
(___)
ウンコー(・∀・ )
⊂ \
(⌒__)
(_) 人
(__)
(___)
( ・∀・)ウンコー
/ ⊃
(__⌒)
(_)
0801786
2006/04/24(月) 00:35:250802デフォルトの名無しさん
2006/04/24(月) 00:44:09Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
PIL-1.1.5
で >>796 を実行したけど,特にエラー出さずに正常に完了しました
0803デフォルトの名無しさん
2006/04/24(月) 00:47:46○>>795
他の画像ファイルで試したらどうか?
どの呼び出しでエラーが出るか追ってみたらどうか?
Python を再インストールしてみたらどうか?
0804デフォルトの名無しさん
2006/04/24(月) 10:27:43♪ヽ(゚∀゚ )ノ ゲリウンコ
( ヘ) ピーピーウンコ
く
∧警∧
( ・∀・) ∧∧
( つヽ(゚∀゚ ;)ノ
| | | ( へ)
(__)_) く
0805デフォルトの名無しさん
2006/04/28(金) 02:32:21(要.NETFramework2.0)
http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=f5bb7def-7c71-40d0-9ad7-81e60e85e3db&DisplayLang=en
0806デフォルトの名無しさん
2006/04/28(金) 09:31:57/ .人
/ (__) パカ
/ ∩(____) <ウンコ〜〜〜
/ .|( ・∀・)_
// | ヽ/
" ̄ ̄ ̄"∪
0807デフォルトの名無しさん
2006/04/28(金) 22:11:590808デフォルトの名無しさん
2006/04/28(金) 22:47:24お勧めのとかないですか?
↓使ってみようかと思ってるんですが、ほかに良さそうなの知ってたら紹介ヨロです。
ttp://www.livinglogic.de/Python/xist/index.html
0809デフォルトの名無しさん
2006/04/28(金) 23:07:550810デフォルトの名無しさん
2006/04/28(金) 23:12:32( * ) ソフトクリーム食べて。
,,
゙ミ;;;;;,_
ミ;;;;;;;;、;:..,,.,,,,,
i;i;i;i; '',',;^′..ヽ ブリュブリュ
゙ゞy、、;:..、) } ブリュッ
.¨.、,_,,、_,,r_,ノ′
/;:;":;.:;";i; '',',;;;_~;;;′.ヽ
゙{y、、;:...:,:.:.、;:..:,:.:. ._ 、}
".¨ー=v ''‐ .:v、,,、_,r_,ノ′
/;i;i; '',',;;;_~⌒¨;;;;;;;;ヾ.ミ゙´゙^′..ヽ
゙{y、、;:...:,:.:.、;、;:.:,:.:. ._ .、) 、}
".¨ー=v ''‐ .:v、冫_._ .、,_,,、_,,r_,ノ′
/i;i; '',',;;;_~υ⌒¨;;;;;;;;ヾ.ミ゙´゙^′.ソ.ヽ
゙{y、、;:..ゞ.:,:.:.、;:.ミ.:,:.:. ._υ゚o,,'.、) 、}
ヾ,,..;::;;;::,;,::;):;:;:; .:v、冫_._ .、,_,,、_,,r_,ノ′
0811デフォルトの名無しさん
2006/04/28(金) 23:20:590812デフォルトの名無しさん
2006/04/28(金) 23:21:26まあでも、フレームワークがタグをしっかり閉じてくれたりとか、
pythonコードとタグが混在して見にくくなるのを防いでくれたりして
いいと思うんだけどね。
そこら辺は個人の感覚の違いかな〜
0813デフォルトの名無しさん
2006/04/28(金) 23:53:170814デフォルトの名無しさん
2006/04/29(土) 11:04:50''';;';'';';''';;'';;;,., ザッザッザ・・・
;;''';;';'';';';;;'';;'';;;
;;'';';';;'';;';'';';';;;'';;'';;;
vy;vy;v:yy;vy;v;yv;y
ウンコー! λVv vλ v;y v Vv vλv;
λ Λ __ λ_ Λ _ヘ λ λ ヘ__ ウンコー!
ウンコー! 人 人 λ 人 人 人 __λ人 人
人 人 人 人 人 人 人 人 人 ウンコー!
人(__人(_人 ) 人 (人.人__).人___) 人( 人
(__)__(__)_(__)(__)(__)__) (__)__(__)(__) ウンコー!
ウンコー! (__)(__(__)___(__)__)(__)(__)__)
( ・∀・ ( ・∀( ・∀・ )∀( ・∀・ )・( ・∀・ ) ・∀・ )∀・ )
「ウンコから来ますた」「うんこから来ますた」「ウンコから来ますた」「うんこから来ますた」
0815デフォルトの名無しさん
2006/04/29(土) 11:28:37っ ttp://www.webwareforpython.org/Papers/Templates/
0816デフォルトの名無しさん
2006/04/29(土) 12:44:02>>815
サンクスです。
なんかDOMっぽくやるのしか想像してなかったんですが、
template書いてそこに変数値を突っ込むのが便利そうですね〜
0817デフォルトの名無しさん
2006/04/29(土) 13:36:10実は、python.exeへのパスを通してないとか、そういうオチは無いですか?
もしくは、PILを導入したPythonバージョンへのパスではないとか。
試しに、コマンドプロンプトから「path[ENTER]」とやって、python.exeへのパスが
通っているかチェックしてみてください。
0818デフォルトの名無しさん
2006/04/29(土) 15:11:040819デフォルトの名無しさん
2006/04/29(土) 15:15:030820デフォルトの名無しさん
2006/04/29(土) 20:13:53ElementTree: ttp://effbot.org/zone/element-index.htm
0821デフォルトの名無しさん
2006/04/29(土) 21:02:360822デフォルトの名無しさん
2006/04/29(土) 21:16:20おれもそう思うが、他の奴はそうでもないらしいぞ。
0823デフォルトの名無しさん
2006/04/30(日) 11:00:17http://www.disinterest.org/NDS/Python24.html
ファミコンロボ復活しないかなぁ・・・
0824デフォルトの名無しさん
2006/05/01(月) 23:13:02あら素敵。
0825デフォルトの名無しさん
2006/05/02(火) 22:32:32ゲームって、ただのボードゲームなんだけど、たとえば、どんなクラスをつくればいいのか
とか、メソッドの命名規則とかって最初に決めておかないとすぐぐちゃぐちゃになる気が
する。っていくか現にぐちゃぐちゃなんです。普通、クラスとかの構造は全部先に決めるもの
なの?それとも、慣れてくるとクラスをいきあたりばったりに作ってもぐちゃぐあにならないの?
助けてください。やっぱり紙とかにクラスの継承図とかを書いたほうがいいんでしょうか。
0826デフォルトの名無しさん
2006/05/02(火) 22:40:53そんなあなたにはユニットテストがオススメ。
どんなにぐちゃぐちゃにしても、ちゃんと動くことだけは保障されるので
好きなように破壊できます。
0827デフォルトの名無しさん
2006/05/02(火) 22:43:54行き当たりばったりでOK。
クラス設計ってのは、クラス間の相互作用(インスタンスの数や主従関係、
メソッドの呼出し関係など)を頭の中でシミュレートして、コードを書く前に
動作を検証するとゆーことであって、よほどの経験者でなければ無理な芸当。
中途半端にクラスの継承図なんかを描いたところで、コードを書き進めるうちに
主従関係が逆転したりカプセル化を無視したデータ参照が必要になっちゃったり
最初から全部書き直したい衝動に駆られたりする。
まあ俺やお前のような初心者は泥縄式の試行錯誤に甘んじておきなさいってこった。
0828デフォルトの名無しさん
2006/05/02(火) 23:00:07プレイヤーを主観にするか、ボード上のオブジェクトを主観にするかで迷いそう
と適当なことを言ってみる
0829デフォルトの名無しさん
2006/05/02(火) 23:20:57皆の言うように、とりあえず行き当たりばったりやってみて学ぶというのでも良いと
思う。でも、一度書いたコードを捨てる勇気だけは忘れないように。w
あと、デザインパターンとか知らないのであれば一通り学ぶ価値はある。
0830デフォルトの名無しさん
2006/05/02(火) 23:21:26/ .人
/ (__) パカ
/ ∩(____) <ウンコ〜〜〜
/ .|( ・∀・)_
// | ヽ/
" ̄ ̄ ̄"∪
0831デフォルトの名無しさん
2006/05/03(水) 00:37:11上級者同士で、お互いが別々にたどり着いたやり方が同じ事ある事を確認するのに
用いるならいいのだが、
初心者が「こういう場合はどのパターンですか?」と先輩に聞く、みたいな形になってしまうと
結局何にも生きない気がするんだよな
0832デフォルトの名無しさん
2006/05/03(水) 00:43:10そこまで頭悪い奴を基準にする必要はない。
初心者かどうかと頭悪いかどうかは別問題だよ。w
0833デフォルトの名無しさん
2006/05/03(水) 02:19:09パターンにするんじゃなかったっけ?
作品ではなく製品を生み出すためのひとつの方法だと認識してる
0834デフォルトの名無しさん
2006/05/03(水) 02:21:22それは偏狭な考えだと思うよ。
確かにパターン信者みたいなのはうざいけど、どういう作品を作るにせよ
参考になる部分はあるよ。
0835デフォルトの名無しさん
2006/05/03(水) 02:31:34この状況だとデザインパターンよりリファクタリングじゃないかな。
他人の書いたクラスとかを読んでみるほうがいいかも。
0836835
2006/05/03(水) 03:16:07SourceForge.jpのPython
http://sourceforge.jp/softwaremap/trove_list.php?form_cat=178
0837デフォルトの名無しさん
2006/05/03(水) 08:19:59デザインパターンなどのパターンカタログの役割だと思う。
パターンより粒度が小さい部分はリファクタリングのカタログの出番。
こちらもメリット、デメリットが書いてある。
より粒度が小さい最初はリファクタリングのカタログ本の方から入った方が
取っつきやすいと思うよ。
あるいは最近出たプレファクタリング本も面白い。
CRC (Class-Responsibility Card) もどき、UMLのクラス図もどき(クラス名と
メソッド名を箇条書きだけ)だけ扱ってて、ゆるくてPythonにも合いそうだ。
0838デフォルトの名無しさん
2006/05/03(水) 15:21:24| .,.:/"" ゙‐,. ` /
` .,-''ヽ"` ヽ,,,、 !
、,、‐'゙l‐、 .丿 : ':、
、/ヽヽ‐ヽ、;,,,,,,,,,-.ッ:''` .,"-、
,r"ツぃ丶 `````` ../ `i、
,.イ:、ヽ/ー`-、-ヽヽヽ、−´ .l゙`-、
_,,l゙-:ヽ,;、、 、、丶 ゙i、,,、
,<_ l_ヽ冫`'`-、;,,,、、、、.............,,,,、.-`": │ `i、
、、::|、、、ヽ,、、. ```: : : ``` 、.、'` .|丶、
.l","ヽ、,"、,"'、ぃ、、,、、、、.、、、.、、、_、.,,.ヽ´ l゙ ゙).._
,、':゙l:、、`:ヽ、`:、 : `"```¬――'''"`゙^` : ..、丶 .l゙ `ヽ
,i´.、ヽ".、".、"'ヽヽ;,:、........、 、、...,,,、−‘` 、‐ |゙゙:‐,
,.-l,i´.、".`ヽ,,,.".` `゙゙'"`'-ー"``"``r-ー`'": _.‐′ 丿 ,!
j".、'ヽ,".、".、"`''`ー、._、、、 、._,、..-‐:'''′ .、,:" 丿
゙l,"`"`''ヽヽ"`"` ```゙'''"ヽ∠、、、、ぃ-`''''": ` 、._./` ._/`
`'i`ヽヽヽ`''ーi、、、: : 、.,-‐'` 、/`
``ヽン'`"` : `~``―ヽ::,,,,,,,,,,.....................,,,,.ー'``^ ,、‐'"`
`"'゙―-、,,,,..、、 : ..,、ー'"'`
: `‘"`―---------‐ヽ``"''''''""
0839デフォルトの名無しさん
2006/05/03(水) 15:59:570840デフォルトの名無しさん
2006/05/03(水) 18:36:00list = []
for i in range(n):
list.append([])
みたいにやってるんですが、これをスマートに書けませんか?
0841デフォルトの名無しさん
2006/05/03(水) 18:39:41てめぇが試行錯誤しかしたことのない初心者ばっかりだから?
0842デフォルトの名無しさん
2006/05/03(水) 18:40:50public で書くようになってしまった。
最初から、絶対に private にするメンバーは python でも under score を付ける。でも
多くのメンバーは最初に private/protected にしても、途中で public 側にシフトして
いくことが多い。(get/set method を介在させるなんて public にするのと似たようなも
の。) 現在は public をデフォルトにコーディングしておき、最後にまとめて
private/protected 宣言したほうが合理的な気がしている。
python/C++ 両方を使う方で、他にも私のような方がいるでしょうか。
0843デフォルトの名無しさん
2006/05/03(水) 18:41:18とりあえず内包表記だと
List =[[] for i in range(n)]
かな。
0844デフォルトの名無しさん
2006/05/03(水) 18:42:45list = [[] for i in range(n)]
間違った回答:
list = [] * n
0845デフォルトの名無しさん
2006/05/03(水) 18:49:34List = list(eval("[],"*n))
0846デフォルトの名無しさん
2006/05/03(水) 19:03:25ありがとうございます。 [ [] for i in range(n) ] でいかせてもらいます。
0847825
2006/05/03(水) 20:37:25試行錯誤して先人のソースを見てみるよ
0848デフォルトの名無しさん
2006/05/03(水) 20:48:18…Pythonの思想的に、そういう書き方は肯定されているのでしょうか
なんだかPerlの香りが漂ってきて、ちょっと気になりました…
0849デフォルトの名無しさん
2006/05/03(水) 20:49:24:: --, -ヽ
、 l _, ( )
ヽ/⌒ヘ~ : ──--, --
., 't,_,ノ丶 ( : )
/ ! '` | ──-- -- ' ノ
,/ ● L_/ 'i,
/ l ,/ ● i,
'i しii 丿 うんち気持ちいい!!
|`:、\ 'ii __,/
'i、 ̄~~ ij 乙__ノi ちょ〜〜気持ちいい!!
^-ァ __,ノ
' 'l
! l
'!, ,_ ,!_
\ l,~^''‐--::,,⊃ ) ) ) )
`'‐’
0850デフォルトの名無しさん
2006/05/03(水) 21:06:070851デフォルトの名無しさん
2006/05/03(水) 21:38:15a = [[]] * 10
print a
もういないか。
0852デフォルトの名無しさん
2006/05/03(水) 21:41:03pythonはうんちということでつ!!
0853デフォルトの名無しさん
2006/05/03(水) 22:04:572番目の昔やってハマったっす…
0854デフォルトの名無しさん
2006/05/03(水) 22:31:02('A`)
0855デフォルトの名無しさん
2006/05/03(水) 23:23:500856デフォルトの名無しさん
2006/05/03(水) 23:27:01a.append("_")
print a
するとかわいいぞ
0857デフォルトの名無しさん
2006/05/03(水) 23:30:200858デフォルトの名無しさん
2006/05/04(木) 01:00:31>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append('_')
>>> a
[['_'], [], [], [], [], [], [], [], [], []]
>>> a = [[]] * 10
>>> a[0].append('_')
>>> a
[['_'], ['_'], ['_'], ['_'], ['_'], ['_'], ['_'], ['_'], ['_'], ['_']]
つまり>>851は微妙に意味が変わるので要注意
0859デフォルトの名無しさん
2006/05/04(木) 02:10:43a = [[]]
b = a + a + a
b[0].append(1)
これも同じでした。
実は好きではあってもほとんど使っていなくて調べていなかったんですが
前にちょっと試したときはコピーしたつもりでも参照になっていて
メモリー使用量がぜんぜん増えないのを思い出しました。
全てをオブジェクトとして扱う?と言うことからそうなっているんですかねー
Pythonあったまいぃぃ♪
0860デフォルトの名無しさん
2006/05/04(木) 02:33:00全部参照になってたりして、頭抱えることになる……。
0861デフォルトの名無しさん
2006/05/04(木) 02:39:420862デフォルトの名無しさん
2006/05/04(木) 09:28:52うんこしたら ちがでたよ!
ハ_ハ
/⌒ヽ ( ゚∀゚)') チガデター
{ (/⊃ ノ ___
ヽ (__⌒ワ') (三(@
に二二二)
_) r'
└───`
ハ_ハ
('('д`∩ ヒリヒリ…
ヽ 〈
ヽヽ_)
0863デフォルトの名無しさん
2006/05/04(木) 09:56:310864デフォルトの名無しさん
2006/05/05(金) 23:12:360865デフォルトの名無しさん
2006/05/06(土) 08:36:23>>> y = 5
>>> x|y, x&y, x or y, x and y
(7, 1, 3, 5)
0866デフォルトの名無しさん
2006/05/06(土) 09:49:02if len(s) and s[4] == 'd':
print s
if len(s) & s[4] == 'd':
print s
0867デフォルトの名無しさん
2006/05/06(土) 09:54:050868デフォルトの名無しさん
2006/05/06(土) 11:02:42>>> t = 'podge'
>>> u = False
>>> s and t and u
False
>>> s | t | u
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unsupported operand type(s) for |: 'str' and 'str'
>>>
0869デフォルトの名無しさん
2006/05/06(土) 22:00:140870デフォルトの名無しさん
2006/05/07(日) 01:25:13>>> a = [1,3,5,6,7,9,7,10,4,3]
>>> b = a
>>> b.sort()
>>> b
[1, 3, 3, 4, 5, 6, 7, 7, 9, 10]
>>> a
[1, 3, 3, 4, 5, 6, 7, 7, 9, 10]
aまでソートされてしまうのは何故でしょうか?
されないようにするにはどうすれば良いでしょうか?
0871デフォルトの名無しさん
2006/05/07(日) 01:28:38b = a[:]
0872デフォルトの名無しさん
2006/05/07(日) 01:50:33そんなテクニック?は初めてのpythonに載ってないので・・・
ありがとうございました。
0873デフォルトの名無しさん
2006/05/07(日) 02:03:262版持ってるけど載ってるよ。
0874デフォルトの名無しさん
2006/05/07(日) 02:06:05書いてある
7.5節リファレンスとコピー(第2版では139ページ)のところを目を皿のようにして読め
0875デフォルトの名無しさん
2006/05/07(日) 02:16:44載ってました。
流し読みしてたんで、記憶に残ってませんでした。
やはりきちんと読まないとダメですね。
0876デフォルトの名無しさん
2006/05/07(日) 03:20:16書いてあることの本当の意味はわからないことがあるよ。
0877デフォルトの名無しさん
2006/05/07(日) 03:23:09実際に動かして、いろいろ条件を変えてみてどういう動作になるかを見ないと。
0878デフォルトの名無しさん
2006/05/07(日) 10:13:520879デフォルトの名無しさん
2006/05/07(日) 10:20:31(_)
(__)
(;o;)つ うんこー♪
人
(_)
( ;o;) うんこ〜〜
( )
人
(;o;) うんこになったよぉ〜
(__)
人
(_)
( ) / ̄ ̄ ̄ ̄ ̄
( ;o; ) < ママぁ〜、生まれたよぉ〜!!
| | | \_____
(__)_)
0880デフォルトの名無しさん
2006/05/07(日) 13:43:260881デフォルトの名無しさん
2006/05/07(日) 13:54:240882デフォルトの名無しさん
2006/05/07(日) 13:59:360883デフォルトの名無しさん
2006/05/07(日) 15:36:13人 人
(__) (__)
≡≡(__) ≡≡(__)
≡≡ミ,( ,,・∀・) ≡≡( ,,・∀・)
≡≡ミ_u,,uノ ≡≡ミ_u,,uノ ピョンピョン
"~" """ ::: "~""~"
""" ::: """ ::
0884デフォルトの名無しさん
2006/05/07(日) 15:54:04解決方法はまた別だけど。
0885デフォルトの名無しさん
2006/05/07(日) 19:33:440886デフォルトの名無しさん
2006/05/07(日) 19:42:470887デフォルトの名無しさん
2006/05/07(日) 19:59:57ちまちましか進んでないように見えるのは、中の人は専業じゃないからかな。
0888デフォルトの名無しさん
2006/05/07(日) 20:30:41>import copy
>
>x = copy.copy(y) # make a shallow copy of y
>x = copy.deepcopy(y) # make a deep copy of y
でも関数化すれって事のような気がする。
0889デフォルトの名無しさん
2006/05/07(日) 20:34:12っていうか、処理が重いのでループに組み込むとスピード落ちる。
速度を気にしないアプリなら問題ないけどね。
0890デフォルトの名無しさん
2006/05/07(日) 20:34:220891デフォルトの名無しさん
2006/05/07(日) 20:37:11そうなんですか。使ったことすらないのでさっぱり。
0892デフォルトの名無しさん
2006/05/07(日) 20:43:170893デフォルトの名無しさん
2006/05/08(月) 14:07:16ショーン・ペン みたい
0894デフォルトの名無しさん
2006/05/08(月) 21:01:250895デフォルトの名無しさん
2006/05/09(火) 17:39:31初期化っていうか代入式書かないと、参照だけで自動作成はしてくれないのね。
適当に選んでくれるから普段は意識しないけど、型があるからなのか?
0896デフォルトの名無しさん
2006/05/09(火) 18:04:45なるだろうな
0897デフォルトの名無しさん
2006/05/09(火) 19:29:48変数の場合は大抵代入使うから慣れた。
しかし、リストや辞書をループで
LIST.append(Value)
みたいに要素代入するときは、ループの前に
LIST=[]
って初期化しておく必要あるね。
0898デフォルトの名無しさん
2006/05/09(火) 20:22:03>896
0899デフォルトの名無しさん
2006/05/09(火) 20:34:100900デフォルトの名無しさん
2006/05/09(火) 21:21:35エディタの単語補完使うとそうでもないよ
0901デフォルトの名無しさん
2006/05/09(火) 21:33:350902デフォルトの名無しさん
2006/05/09(火) 22:56:020903デフォルトの名無しさん
2006/05/09(火) 23:18:30まあpythonはだらしないうんこだね。
0904デフォルトの名無しさん
2006/05/09(火) 23:37:450905デフォルトの名無しさん
2006/05/10(水) 00:37:12なにそのVBふざけてるの
0906デフォルトの名無しさん
2006/05/10(水) 04:27:21違うな。
だらしない奴が好むのがだらしない言語ってことだろ。
類は友を呼ぶって言うからことわざどおりだな。
0907デフォルトの名無しさん
2006/05/10(水) 07:53:51だらしないプログラムが書ける言語ってことなら
ほとんどの言語が当てはまるよーな・・・。
0908デフォルトの名無しさん
2006/05/10(水) 08:17:200909デフォルトの名無しさん
2006/05/10(水) 08:42:13意味がよく分からないんだけど
なにも代入していない変数に
何かを参照しようとする場面って
どういう状況?
0910デフォルトの名無しさん
2006/05/10(水) 10:09:17奴らの書くスパゲッティコードは難読すぎて理解できん。
0911デフォルトの名無しさん
2006/05/10(水) 11:48:09>895じゃないけど、例えば条件分岐や try〜error の構文で、
通常起こりうる場合のブロックにのみ変数を代入で定義していて、
ブロックを抜けた部分でそれを参照してる場合とか。
もちろんプログラムのミスなんだけどさ。
0912デフォルトの名無しさん
2006/05/10(水) 12:07:06明らかにエラーになったほうが嬉しい状況だな
0913デフォルトの名無しさん
2006/05/10(水) 12:28:15Count += 1
も未定義だとエラーになるな。この演算子は未定義なら1にするでいいんじゃないのかな
0914デフォルトの名無しさん
2006/05/10(水) 12:32:21明らかにエラーになったほうが嬉しい状況だと思う
0915デフォルトの名無しさん
2006/05/10(水) 13:37:110916デフォルトの名無しさん
2006/05/10(水) 20:03:11もしtypoしてCoumt += 1と打ってしまっていてもエラーにならない、
と言えばデメリットと思えまいか
0917デフォルトの名無しさん
2006/05/10(水) 20:10:59その場合は、他でtypoしてない「Count」を参照するときにエラーが出るだろう。
0918デフォルトの名無しさん
2006/05/10(水) 20:27:02単なる行数節約?
0919デフォルトの名無しさん
2006/05/10(水) 20:49:23馬鹿はプログラム書くの禁止
0920デフォルトの名無しさん
2006/05/10(水) 20:57:06もちろんエラーが発生してくれた方がありがたいことも多いが。
NullObjectパターンの一種と考えればいいんじゃなかろか。
0921デフォルトの名無しさん
2006/05/10(水) 21:00:11たんに「pythonこそは最高だ。それ以外の言語はすべてだらしないし、
だらしない言語を使う奴もだらしない」って言いたいんでしょ。
0922デフォルトの名無しさん
2006/05/10(水) 21:01:120923デフォルトの名無しさん
2006/05/10(水) 21:07:35なら素直にNoneつっこんどけと
0924デフォルトの名無しさん
2006/05/10(水) 21:27:36だらしない言語を使う奴もだらしない
0925デフォルトの名無しさん
2006/05/10(水) 21:52:10「単なる」ですまない無限の可能性(~e~)
0926デフォルトの名無しさん
2006/05/10(水) 22:07:26その代わり可読性が80%減少する諸刃の剣
0927デフォルトの名無しさん
2006/05/10(水) 22:24:56Pythonの+=は後付けだからね
Count =+ 1ならエラーにならないって知ってた?
0928デフォルトの名無しさん
2006/05/10(水) 22:59:380929デフォルトの名無しさん
2006/05/10(水) 23:12:400930デフォルトの名無しさん
2006/05/11(木) 01:13:17そんな誰もが分かることを改めて書かなくてもよいぞ。
↓ 引き続きpythonの話題でお楽しみください。
0931デフォルトの名無しさん
2006/05/11(木) 01:30:160932デフォルトの名無しさん
2006/05/11(木) 03:42:42不当な文句だったよ。
0933デフォルトの名無しさん
2006/05/11(木) 07:29:01確かにエラーにならないんだけど、
何度繰り返しても、1にしかならないです(´・ω・`)
=+ってもしかして、Count = 1って事?
0934デフォルトの名無しさん
2006/05/11(木) 07:48:46何この偉そうな態度。
0935デフォルトの名無しさん
2006/05/11(木) 08:04:200936デフォルトの名無しさん
2006/05/11(木) 08:20:27// 標準仕様には入っていない(と思う)のですが、
// 初期ccでサポートされていたこともあり、
// たいていのコンパイラで実装されている知られざる演算子をご存じですか?
int main(void)
{
int a=10,b=7;
printf("割ってかける演算子、かけて割る演算子\n");
// 3で割ってから3でかける演算子
a/*=3;
// 5でかけてから5で割る演算子
b*/=5;
printf("a=%d b=%d\n",a,b);
return 0;
}
ってのを思い出した
激しくスレ違いだが
ってのを思い出したw
スレ違いだが
0937デフォルトの名無しさん
2006/05/11(木) 08:49:100938デフォルトの名無しさん
2006/05/11(木) 09:06:140940デフォルトの名無しさん
2006/05/11(木) 11:54:020941デフォルトの名無しさん
2006/05/11(木) 12:34:02つまりC言語はだらしない言語ってことだな、君が言うには。
0942デフォルトの名無しさん
2006/05/11(木) 12:44:30人間が創造的な部分にのみ集中できる言語が良いものだ。
0943デフォルトの名無しさん
2006/05/11(木) 14:33:590944デフォルトの名無しさん
2006/05/11(木) 14:52:27matlabに大規模な方程式とかせたりするのを
scipyにやらせようと思うんですよ.
どっちのがいいのかね
0945デフォルトの名無しさん
2006/05/11(木) 16:00:59ハズレ
0946野暮だけど一応
2006/05/11(木) 16:16:21ってネタで言ってるんですよね?
>938 とかはまさか本気じゃないですよね?
0947デフォルトの名無しさん
2006/05/11(木) 16:23:040948デフォルトの名無しさん
2006/05/11(木) 17:16:33文献少ないし、例も少ないのがだるいわ
0949デフォルトの名無しさん
2006/05/11(木) 18:23:29大規模ってどれぐらい?
0950944
2006/05/11(木) 18:28:410951デフォルトの名無しさん
2006/05/11(木) 18:39:46次数は?
いや、MATLAB/SciPyのアドバイスはできないんだけど興味があったんで。
0952944
2006/05/11(木) 18:46:34今のところ線形か2次です。
matlabだと行列データをワークスペースにロードするだけで
メモリを食うもんで、python好きだから使ってみようと思って。
0953デフォルトの名無しさん
2006/05/11(木) 18:59:42要素数5,000,000の行列って倍精度実数の密行列だと40MBだよね。
メモリが少なすぎるのかMATLABがメモリ食いなのかどっちなんだろう。
単に方程式が解ければいいだけ、ならSciPyの方が軽いかもね。
0954デフォルトの名無しさん
2006/05/11(木) 21:45:12python以外の言語はすべてだらしない言語だそうだよ。
このスレの住人の見解としては。
0955デフォルトの名無しさん
2006/05/11(木) 21:51:22勝手に見解をまとめるな
0956デフォルトの名無しさん
2006/05/11(木) 21:51:44なかなかだらしない発言だな。w
文脈から考えれば「だらしない言語」は代入しなくても参照できる某言語のことを
指しているのは明らか。
0957デフォルトの名無しさん
2006/05/11(木) 22:07:060958デフォルトの名無しさん
2006/05/11(木) 22:38:45結局他の言語を馬鹿にしたいのに変わりはないわけだろ。
0959デフォルトの名無しさん
2006/05/11(木) 22:41:02python。
0960デフォルトの名無しさん
2006/05/11(木) 23:59:07煽ってる連中が一番だらしないってことだろ
ちゃんと働けよw
0961デフォルトの名無しさん
2006/05/12(金) 00:16:36馬鹿にするというか見下すという感じかな(同じか)。
Py厨が他言語をほめるところなんて見たことないし。
0962デフォルトの名無しさん
2006/05/12(金) 00:43:210963デフォルトの名無しさん
2006/05/12(金) 04:42:55普段から回りにだらしないだらしない言われてて気にしたのか?
だらしないのはお前ら自身のせいじゃないぞw
お前らのパパやママの愛情が足りなかったからだ
恨むんならパパやママを恨むんだなw
0964デフォルトの名無しさん
2006/05/12(金) 04:51:410965デフォルトの名無しさん
2006/05/12(金) 05:55:53ぱいそん?
0966デフォルトの名無しさん
2006/05/12(金) 05:57:020967デフォルトの名無しさん
2006/05/12(金) 10:21:25まずは、だらしないの定義を
しっかり詰めてもらわないと。
0968デフォルトの名無しさん
2006/05/12(金) 12:24:00だから代入しなくても参照できることだろ
0969デフォルトの名無しさん
2006/05/12(金) 17:39:46DOS窓で、日本語を入力することができません。
検索をしたり、マニュアルを見ても、その方法を書いてあるところが
わかりません。お手上げです。
どうすれば平仮名などを入力できるのか、教えてください。
0970デフォルトの名無しさん
2006/05/12(金) 17:44:15ALT+漢字
0972デフォルトの名無しさん
2006/05/12(金) 20:55:12流量と話題も、さらに言えば必要も無いよ。
0973デフォルトの名無しさん
2006/05/12(金) 21:03:000974デフォルトの名無しさん
2006/05/12(金) 21:15:520975デフォルトの名無しさん
2006/05/12(金) 22:01:310976デフォルトの名無しさん
2006/05/12(金) 22:23:20イクナイ
言語がだらしないとだらしなくないとかナンセンス。
バカっぽいからこの話題終わりにしない?
0977デフォルトの名無しさん
2006/05/12(金) 23:28:21普通どの人もやらんだろ。
むしろpython好きはpythonに満足して他の言語に興味が無いだけだ。
他の言語をバカにする傾向があるのはC++やJavaやってる奴ら。
自分たちが主流だと信じていつつも、なぜか開発の方法論は乱立し
しかもどれをやっても楽にならない。
横目を見ればインタプリタのスクリプト言語やってる奴らが楽しそう。
そんな状況ではひねくれずにはおられまい。
0978デフォルトの名無しさん
2006/05/12(金) 23:39:42ついに言語論争を煽動し始めたか。
0979デフォルトの名無しさん
2006/05/12(金) 23:44:310980デフォルトの名無しさん
2006/05/13(土) 00:04:07C#も好きになれると思うよ
0981デフォルトの名無しさん
2006/05/13(土) 12:58:380982デフォルトの名無しさん
2006/05/13(土) 13:25:56Java + Jythonから乗り換えますた。
0983デフォルトの名無しさん
2006/05/13(土) 13:44:17うんこAAは無視できても、他言語をだらしないと貶めるのには
ついついのってしまうわけですね。Py厨は。
0984デフォルトの名無しさん
2006/05/13(土) 13:52:300985デフォルトの名無しさん
2006/05/13(土) 13:53:32IronPythonって使い心地とかどう?
0986デフォルトの名無しさん
2006/05/13(土) 14:21:43ふたつもスレが必要なほどレス数もないので流用でいいんじゃ
ないの?
0987デフォルトの名無しさん
2006/05/13(土) 20:17:41まさにglue言語としての本領発揮。
IronPythonでさくっとプログラム作って、GUIの皮をVSで楽チンに作れるのはメチャいい。
.NET Frameworkのライブラリ全部を簡単に使えるのは、想像以上に快適だったよ。
ASP.NET + IronPythonはまだやってないけど、同じノリでできれば嬉しいな。
0988デフォルトの名無しさん
2006/05/13(土) 20:27:22報告に上がりました。
ironpythonを使えるのはいつのことやら
0989デフォルトの名無しさん
2006/05/13(土) 20:46:25へー、結構よさそうだな。ちょっとやってみるかな。
ありがとう。
0990デフォルトの名無しさん
2006/05/14(日) 03:25:32Pythonすげーな
0991デフォルトの名無しさん
2006/05/14(日) 04:01:14http://www.sauria.com/~twl/conferences/pycon2005/20050325/Python%20at%20Google.html
0992デフォルトの名無しさん
2006/05/14(日) 04:43:36Mac用のエディタで複数の人が編集できる。
編集した人ごとに色付けすることが出来るし、エディタのイメージに忠実なHMTLファイルを作ることも出来る。
Pythonの文法モードに対応してるMac用のフリーエディタは(Emacs系を除けば)これくらいだよ。
0993デフォルトの名無しさん
2006/05/14(日) 10:14:34miにもPythonモードがあるよ
ttp://homepage2.nifty.com/~yoshimura/
インデントがタブになっちゃうけどね
日本語使わなくていいなら他にもたくさんあるます
http://wiki.python.org/moin/PythonEditors
0994デフォルトの名無しさん
2006/05/14(日) 11:46:250995デフォルトの名無しさん
2006/05/14(日) 20:15:220996デフォルトの名無しさん
2006/05/14(日) 20:19:220997デフォルトの名無しさん
2006/05/14(日) 20:34:07http://pc8.2ch.net/test/read.cgi/tech/1141964987/
0998デフォルトの名無しさん
2006/05/14(日) 20:38:060999デフォルトの名無しさん
2006/05/14(日) 20:39:321000デフォルトの名無しさん
2006/05/14(日) 20:39:43| .,.:/"" ゙‐,. ` /
` .,-''ヽ"` ヽ,,,、 !
、,、‐'゙l‐、 .丿 : ':、
、/ヽヽ‐ヽ、;,,,,,,,,,-.ッ:''` .,"-、
,r"ツぃ丶 `````` ../ `i、
,.イ:、ヽ/ー`-、-ヽヽヽ、−´ .l゙`-、
_,,l゙-:ヽ,;、、 、、丶 ゙i、,,、
,<_ l_ヽ冫`'`-、;,,,、、、、.............,,,,、.-`": │ `i、
、、::|、、、ヽ,、、. ```: : : ``` 、.、'` .|丶、
.l","ヽ、,"、,"'、ぃ、、,、、、、.、、、.、、、_、.,,.ヽ´ l゙ ゙).._
,、':゙l:、、`:ヽ、`:、 : `"```¬――'''"`゙^` : ..、丶 .l゙ `ヽ
,i´.、ヽ".、".、"'ヽヽ;,:、........、 、、...,,,、−‘` 、‐ |゙゙:‐,
,.-l,i´.、".`ヽ,,,.".` `゙゙'"`'-ー"``"``r-ー`'": _.‐′ 丿 ,!
j".、'ヽ,".、".、"`''`ー、._、、、 、._,、..-‐:'''′ .、,:" 丿
゙l,"`"`''ヽヽ"`"` ```゙'''"ヽ∠、、、、ぃ-`''''": ` 、._./` ._/`
`'i`ヽヽヽ`''ーi、、、: : 、.,-‐'` 、/`
``ヽン'`"` : `~``―ヽ::,,,,,,,,,,.....................,,,,.ー'``^ ,、‐'"`
`"'゙―-、,,,,..、、 : ..,、ー'"'`
: `‘"`―---------‐ヽ``"''''''""
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。