2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん :2014/11/05(水) 16:40:01.25 ID:Awvl8HhM.net
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その24
http://peace.2ch.net/test/read.cgi/tech/1407008551/
関連スレ
Pythonのお勉強 Part50
http://peace.2ch.net/test/read.cgi/tech/1413474092/

◆関連リンク Python の Home Page
ttp://www.python.org/
ttp://www.python.jp/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

946 :デフォルトの名無しさん:2015/05/09(土) 01:54:28.71 ID:9BMlX8/l.net
>>944

> サイトって何よ
> cgiでも動かしてんの?

何も動かしてませんが、自宅サーバを立ててまして
実際には運営はしてませんがドメインも取りました
とりあえずNginx、postgres、あとuwsgiを入れてみました
でも、どこから手を付けていいものか解りません

で、Pythonの基本からやろうかと思いまして

問い合わせフォームとかをメアドを表示しない状態で、
などを実装してみたいんです
問い合わせ内容とか、ログに残してみたり、必要かと思って

まずは、ファイル書式関係かな?と思って質問してみました

947 :デフォルトの名無しさん:2015/05/09(土) 02:30:08.01 ID:5NEoo1tP.net
あなたの言うPythonの基本って何だい
プログラミング初心者ってことならドットインストールでも見てきなよ
Webアプリに突撃するには10日早い

948 :デフォルトの名無しさん:2015/05/09(土) 02:56:38.93 ID:5NEoo1tP.net
一応質問にもアドバイスする
回答とは違う

書式なんて要件次第だ
何のしがらみもないなら自分で決めていい
というより、その程度の情報ではやりたいようにやれよとしか言えない

コンマ区切りで済むならそれで構わない
コンマ区切りを採用するなら、単純に文字列のsplitメソッドを使うか
csvモジュールを使えばいいだろう

949 :デフォルトの名無しさん:2015/05/09(土) 10:53:52.49 ID:gwDj3Ooh.net
ここは科学技術計算系(anaconda3)の質問はスレ違いでしょうか?

950 :デフォルトの名無しさん:2015/05/09(土) 13:14:22.15 ID:8RFySLN3.net
age

951 :デフォルトの名無しさん:2015/05/09(土) 19:26:11.48 ID:EIjgNRBm.net
{ "text" : text , "tel" : tel , "address" : address }

こんな風にキーの名前とvalueの変数名が同じdictを簡潔に書けないでしょうか?
つまりtextとかtelを二度書きたく無いんです

952 :デフォルトの名無しさん:2015/05/09(土) 19:42:50.62 ID:5NEoo1tP.net
localsとかglobalsを使えばできないこともない
あまり勧められたものでもないが

953 :デフォルトの名無しさん:2015/05/09(土) 20:10:35.27 ID:l4fGqUab.net
クラス設計でインスタンス変数をそれぞれ設定していくべきか、辞書を使って一纏めにしてしまうべきか悩んでいます。
具体的には、
self.itemA = 0
self.itemB = 0
...
としていくか、
self.itemBag =
{
"A": 0,
"B": 0,
...
}
のどちらにすべきか、です。
パフォーマンスは求めていませんが、見やすさ、設計の利点などの違い、あるいは好みでどちらにすべきかなどの意見はありますか?

954 :デフォルトの名無しさん:2015/05/09(土) 20:28:16.96 ID:5NEoo1tP.net
どういう属性かによるね
関連性があるならグループ化する価値はあるだろう

955 :デフォルトの名無しさん:2015/05/09(土) 20:41:31.62 ID:v8DO1laq.net
そのほかの箇所での設定や参照時も一緒に設定参照するのなら纏める
そうでないのなら逆に見づらくなる気がするから自分なら纏めない

956 :デフォルトの名無しさん:2015/05/10(日) 01:52:02.10 ID:Oozs+Vkj.net
初心者は、この本を読め!
みんなのPython 第3版

>>942
XML, JSON は単純なテキストとは違って、
フォルダ(ディレクトリ)のような、
親子関係の階層を持つ、いれ物

<A><B>あ</B></A>
Aが親で、Bが子

一方、CSV(カンマ区切り)では、テキスト中にカンマが使えないし、
空白区切りなら、空白が使えない。
タブ区切りなら、タブをテキスト中に使うことはないので良さそう

957 :デフォルトの名無しさん:2015/05/10(日) 04:45:07.23 ID:+HAYqchr.net
>>946
動的なwebサイトを作りたいのならwebフレームワークを使うのが普通だよ
全くの初心者が自力で実装してたら途方も無い時間がかかるし、
酷いセキュリティのシステムが完成して危ないから絶対やめとくべき

というか何故Python,nginx,postgresという初心者が選んだら辛そうなのばかり選択しちゃったんだ…
手っ取り早く作りたいならpython捨てて
言語:PHP フレームワーク:CakePHPとか DB:MySQL webサーバー:Apache
だとネットに事例が大量にある 手取り足取り解説した情報・書籍がたくさんある
PHP嫌ならRuby+Rails+MySQLもかなり多い

プログラミングもDBもサーバーもネットワークの仕組みもこれから勉強します、
という人がPythonでwebアプリケーション作るのはかなり茨の道
Pythonは良い言語だけどあまりwebアプリには向いてない、というか他にいいのがたくさんある

958 :デフォルトの名無しさん:2015/05/10(日) 10:57:44.24 ID:rm3zFp4J.net
>>956
>CSV(カンマ区切り)では、テキスト中にカンマが使えないし、

使えるよ。
CSVでカンマを使いたい場合はダブルクォーテーションで囲む。

Say,"Hello, world."

みたいに。

959 :デフォルトの名無しさん:2015/05/10(日) 16:18:26.18 ID:YEjf3LrX.net
課題を与えてくれて手を動かしてpythonの練習できるサイトかプログラムってありませんか?
ここは良い感じだったんですがクリアしちゃったので次が欲しいです
http://www.codecademy.com/en/tracks/python

960 :デフォルトの名無しさん:2015/05/10(日) 16:36:49.26 ID:5/fle6rz.net
>>959
Project Euler

961 :デフォルトの名無しさん:2015/05/10(日) 18:22:15.58 ID:nPMc7tjQ.net
>>959
CheckIO
https://www.checkio.org/

962 :デフォルトの名無しさん:2015/05/10(日) 19:17:13.50 ID:nPMc7tjQ.net
>>959
あとAOJ。
http://judge.u-aizu.ac.jp/onlinejudge/index.jsp?lang=ja

963 :デフォルトの名無しさん:2015/05/10(日) 20:41:01.80 ID:YEjf3LrX.net
>>960
面白そうですね ただ自分はまだ指がpythonの作法を覚えていないので、サンプルコードがあるところで下積みしてからやってみます

>>961
な、なんじゃこりゃあああ
プログラミング学習をゲームに仕立てたものですか すごい
こういうのあったら面白いのにっていうのが本当にあったとはw
全部英語かと思ったら、問題は日本訳されてるし・・
ちょっとインターフェースに慣れが必要そうですが、これやってみます
(背景色変えたり課題を英語にするのはどうやるんだろ・・・w)

おふたりともありがとうございます!

964 :デフォルトの名無しさん:2015/05/11(月) 00:09:09.73 ID:AF0vPJsi.net
将来使いたいとライブラリが python 2.7 なんで2をインストールしたんですが、基本を勉強するとき2でやるか、3にしておくか悩みますね・・・
2でやろうとしたけどchekioの回答者が95%ぐらい3だった・・・

965 :デフォルトの名無しさん:2015/05/11(月) 13:24:17.22 ID:AF0vPJsi.net
requests.get()でAPIから取得した結果が、辞書とリストの入れ子になっていました
そこからある値を取り出したいときは分かり辛くても 
response['results'][0]['speaking'][2] みたい書かないといけないんでしょうか?

{u'num_found': 31623,
u'results': [{u'bills': None,
u'bioguide_id': None,
u'speaking': [u'Peace, peace, peace be unto all.'],
u'title': u'prayer',
u'volume': 153}]}

966 :デフォルトの名無しさん:2015/05/11(月) 13:59:13.97 ID:X7iHjzbj.net
3は動物的感覚で最初から完全無視していたんだが普及しているの?マジ?

967 :デフォルトの名無しさん:2015/05/11(月) 14:34:01.04 ID:pp+etNv4.net
別に普及してないけど、3が使えて2が使えない人間はいない
逆もいないが、だったら新しい方で勉強するってことじゃねーの

>>965
君はどう書けたらいいと思うんだ?
理想型を提示してみろ
それができるかできないか答えよう

968 :デフォルトの名無しさん:2015/05/11(月) 16:14:14.42 ID:AF0vPJsi.net
>>967
分かり辛いと感じたのは、どこでリストが使われて、どこに辞書が使われるのか理解していないためでした
あとたぶんサンプルが特殊で、['result']以下には辞書データが一つしか入っていないのに、リストで二重に囲んであって、余計混乱したようです

969 :デフォルトの名無しさん:2015/05/11(月) 17:35:02.40 ID:VLJk5RL1.net
別の言語だと考えればいいよ

970 :デフォルトの名無しさん:2015/05/11(月) 19:55:56.52 ID:7oTr197Z.net
互換性が無いとはいえ最初の勉強程度では2でも3でも対して差はない
とりあえず新しいほうの3で勉強しとけば2への変換は苦じゃない

971 :デフォルトの名無しさん:2015/05/11(月) 22:22:51.09 ID:gmi0Ylrg.net
>>965
規則性があるんだったら、
自分でparserを書いちゃえばいいんでないかい?
そうすればややこしさに頭をひねるのは最初だけで済むし

972 :デフォルトの名無しさん:2015/05/11(月) 22:38:22.09 ID:QviOHirL.net
>>965
namedtupleあたりで頑張ってプロパティ名でアクセスできるオブジェクトを構築するとか

973 :デフォルトの名無しさん:2015/05/12(火) 14:59:24.56 ID:uttCTI7h.net
https://github.com/python-doc-ja/python-doc-ja/issues/684

Transifexではラベルを編集できないようですので、ラベルの"��
�"認をお願いします。

"から"までのところが文字化けしてて読めないんですがなんて書いてあるのでしょうか?

974 :デフォルトの名無しさん:2015/05/12(火) 16:50:35.83 ID:xezKBhrJ.net
>>971
今回のはトレーニングで出てきたAPIなので、自分で繰り返し使うときはparserを書いてみます
>>972
使いこなせたら便利そうですね 黒魔術の香りが

975 :デフォルトの名無しさん:2015/05/12(火) 20:00:39.59 ID:xezKBhrJ.net
[' '] キー が出現頻度のわりにやたら打ち辛いのでキー割り当て変えてみたらすごい捗ることに気付いたw

シフト←→変換
[]←→() 

976 :デフォルトの名無しさん:2015/05/13(水) 03:23:59.23 ID:QB/uykhN.net
>>973
その文字列は、漏れにも読めない

何語を使っているのかね?

977 :デフォルトの名無しさん:2015/05/14(木) 08:45:35.06 ID:8IgVcxu1.net
windowsでpythonを使おうと思うのですが、
・windowsにpythonをインストール
・cygywinの上でpythonを使う
のどちらが良いでしょうか?

deep learning(pylearn2)を使ってみたいので、
前者なら軽くなり、後者なら多くのリファレンスが使えるという点で迷っています。

978 :デフォルトの名無しさん:2015/05/14(木) 08:56:14.11 ID:PRhs144W.net
遊びたいだけならwinでいいんじゃね
俺ならvagrantでlinux使うが

979 :デフォルトの名無しさん:2015/05/14(木) 09:05:24.51 ID:8IgVcxu1.net
>>978
仮想環境ですが、考えていませんでした。ありがとうございます。試してみます。

980 :デフォルトの名無しさん:2015/05/14(木) 16:02:25.18 ID:u+ZAZi3S.net
>>979
windows上で生python入れると科学技術系パッケージが面倒なことになるから、anacondaでまとめて入れたほうが楽だよ
http://continuum.io/downloads

ちゃんと設定すればthanoやpylearn2もGPUアクセラレータ付きで動かせるみたいだね
caffeもwindows上でGPU効かせられる記事みたことあるけどどんなか忘れた
https://my6266blog.wordpress.com/2015/01/21/installing-theano-pylearn2-and-even-gpu-on-windows/

981 :デフォルトの名無しさん:2015/05/14(木) 16:26:56.71 ID:pnnMPsHS.net
Anacondaってこのスレではむしろトラブルしか聞かないな
初心者にはどっちが面倒なのか俺にはわからん

982 :デフォルトの名無しさん:2015/05/15(金) 23:49:43.22 ID:dTD9FlGn.net
googleのpython入門コースに出てくる問題

課題:
引数として昇順ソートされたリストを2つ受け取る。
それを一つに統合、昇順ソートされたリストを作成しreturnせよ。
ただしプログラムは  線形時間  で動作すること。
元のリストに手を加えてもよい。

def linear_merge(list1, list2):
# +++your code here+++

return

983 :デフォルトの名無しさん:2015/05/16(土) 01:18:21.74 ID:ZJDdRqxh.net
>>982
https://paiza.io/projects/M1kcgonXFtWObYaxL3x8Vg

984 :デフォルトの名無しさん:2015/05/16(土) 01:43:41.58 ID:KZsTuDhE.net
>>982
その入門コースってどこで見れるのか教えてください

985 :デフォルトの名無しさん:2015/05/16(土) 03:08:11.97 ID:OX3JiC1g.net
>>983
すげえええ 再帰使う人って頭のなかどうなってるの
合わせ鏡覗きこんだときみたいに無限ループに入りそうで不安になる

でも引数のところがシンタックスエラーで動かない・・・
チェック用の関数も提供されてるから一緒に回してみて

def test(got, expected):
if got == expected:
prefix = ' OK '
else:
prefix = ' X '
print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected))


# Calls the above functions with interesting inputs.
def main():
print 'linear_merge'
test(linear_merge(['aa', 'xx', 'zz'], ['bb', 'cc']),
['aa', 'bb', 'cc', 'xx', 'zz'])
test(linear_merge(['aa', 'xx'], ['bb', 'cc', 'zz']),
['aa', 'bb', 'cc', 'xx', 'zz'])
test(linear_merge(['aa', 'aa'], ['aa', 'bb', 'bb']),
['aa', 'aa', 'aa', 'bb', 'bb'])

if __name__ == '__main__':
main()

986 :デフォルトの名無しさん:2015/05/16(土) 03:10:55.52 ID:OX3JiC1g.net
>>984
https://developers.google.com/edu/python/exercises/basic
これです 自分もいまやってます

>>985
インデント消えた・・・

987 :デフォルトの名無しさん:2015/05/16(土) 07:09:00.95 ID:ZJDdRqxh.net
>>985
終了時処理を最初に書くのが、コツ。

988 :デフォルトの名無しさん:2015/05/16(土) 11:16:18.69 ID:OX3JiC1g.net
>>987
while文みたいな感じなんですね

989 :デフォルトの名無しさん:2015/05/16(土) 11:45:30.93 ID:SZ2m/aFp.net
この前に1時間で解けないと、って話題になった奴か?
解いてて思ったけど1時間で解けない奴は1日でも無理だろうし
そういうのを選別するのが目的であって
早く解けることは意味ないんだろうなと思った
8分で5問解けた

990 :デフォルトの名無しさん:2015/05/16(土) 14:08:12.61 ID:OX3JiC1g.net
>>986 の mimic.pyが面白いよー

課題:
ファイルを読み込み、【出現単語】をキーにした辞書を作り、【直後に続く単語】をリスト化して納める
{出現単語1 : [隣接単語1, 隣接単語2, 隣接単語3,,,,] }
{出現単語2 : [,,,,] }
*隣接単語は重複を含む ["then", "best", "then", "after", ...]

次に、その辞書を用いてオリジナルのファイルをモノマネする文章を作成する
次の単語選択にはrandom.choice(list)を使う

ただしファイルの最初の単語は空文字 '' とし、辞書にない単語でつかえた場合は空文字を返す

991 :デフォルトの名無しさん:2015/05/16(土) 14:10:30.03 ID:OX3JiC1g.net
import random
import sys

def mimic_dict(filename):
"""Returns mimic dict mapping each word to list of words which follow it."""
# +++your code here+++
return


def print_mimic(mimic_dict, word):
"""Given mimic dict and start word, prints 200 random words."""
# +++your code here+++


# Provided main(), calls mimic_dict() and mimic()
def main():
if len(sys.argv) != 2:
print 'usage: ./mimic.py file-to-read'
sys.exit(1)

dict = mimic_dict(sys.argv[1])
print_mimic(dict, '')


if __name__ == '__main__':
main()

992 :デフォルトの名無しさん:2015/05/16(土) 14:17:18.99 ID:OX3JiC1g.net
>>990 辞書の形式書き間違えた・・

{
出現単語1 : [隣接単語1, 隣接単語2, 隣接単語3,,,,],
出現単語2 : [,,,],
出現単語3 : [,,,],
}

993 :デフォルトの名無しさん:2015/05/16(土) 17:10:57.24 ID:QT5s50C8.net
くだすれPython(超初心者用) その26
http://peace.2ch.net/test/read.cgi/tech/1431763770/l50

メール欄失敗してsageoffって入力しちゃった

994 :デフォルトの名無しさん:2015/05/16(土) 17:42:18.40 ID:ErqOsR1N.net
別にいいよ

995 :デフォルトの名無しさん:2015/05/16(土) 20:04:14.71 ID:Xo5bM6FI.net
ここは、埋め.

総レス数 995
256 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★