くだすれPython(超初心者用) その34 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/05/28(日) 20:34:15.87ID:7AoJbiyO
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その33
http://echo.2ch.net/test/read.cgi/tech/1490424742/
2017/06/06(火) 23:40:47.18ID:1h2yWjJE
英語なんて読めなくてもpython.jpで十分だ
2017/06/07(水) 06:55:46.28ID:898Dxfil
>>221
実家にはあるし家庭用餅つき機でもつきたてはうまいぞ
2017/06/07(水) 12:08:20.78ID:61FP2LgC
python人気だなぁ7年前の入門書が定価の7割もしたぞ
すぐ読んで売ろう
2017/06/07(水) 12:10:57.65ID:SSzPpmQQ
>>207
まず、プログラミング以前の話として、プログラミングの環境構築ができないのだろ

環境構築するには、Linux のコマンドや、Windows の、PowerShell など、
各OSのコマンドを勉強する必要があるから、プログラマーには無理だと思う

paiza.IO, codepad など、webサイト上で、ブラウザからプログラミングした方が良い

Python-3.6.1.tar.xz
拡張子が、.xz だから、コマンドの説明を読んだ方が良い
226デフォルトの名無しさん
垢版 |
2017/06/07(水) 12:36:37.18ID:j6/hQcqc
最近のtarは圧縮方式指定しなくてもxfだけで展開してくれるけどな
227デフォルトの名無しさん
垢版 |
2017/06/07(水) 13:45:09.01ID:HEP6EMx0
まだしばらく3.53でいいんじゃないか?2.7はもう手仕舞いする必要があるが。
2017/06/07(水) 13:54:02.09ID:61FP2LgC
printって書いたら自動で()書いてくれんかね
3になってからめんどくさいんだけど
2017/06/07(水) 14:08:02.93ID:+jtNx/NC
それはエディターの仕事
2017/06/07(水) 17:01:24.93ID:SnVv1syS
2文字書くのがめんどいってどんだけprint使ってるんだよ
2017/06/07(水) 17:19:49.25ID:Qrbra1+t
括弧打つの面倒だろ、キーマップいじってなければシフト押す必要あるし
232デフォルトの名無しさん
垢版 |
2017/06/07(水) 19:22:48.44ID:FeRa8BtZ
こんなことにまで「キーマップいじってなければ」って保険かけたがるメンタルの弱さ
いじめたくなるw
2017/06/07(水) 19:31:45.58ID:A8DVjl6j
print文を多用するとかてめぇさては関数型アンチだな?
2017/06/07(水) 21:19:06.32ID:JC7MCbjt
荒らしが逆切れ
2017/06/07(水) 21:34:27.12ID:yNniBDxL
vimやemacsでも補完できるというのに
メモ帳でも使っているのかしら
236デフォルトの名無しさん
垢版 |
2017/06/07(水) 22:22:42.71ID:TSYtCcNO
p=print
p(1)
2017/06/07(水) 22:51:18.31ID:wLkZIumi
lispに1ヵ月くらいどっぷり浸かれば括弧が大好きになるよ!
2017/06/07(水) 23:06:42.58ID:2PIr0kSd
退屈なことはコイツにやらせよう!
2017/06/07(水) 23:58:38.00ID:qi0eeZyx
>>217
どれ?
2017/06/08(木) 00:34:30.86ID:gcytfFmg

やれよ
2017/06/08(木) 01:28:14.32ID:59NuhaW+
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
https://www.amazon.co.jp/dp/487311778X/ref=cm_sw_r_cp_api_ELcozbJ09VQ35

これのことじゃね?
2017/06/08(木) 02:18:00.07ID:ueYAhQD8
>>241
あー……前半と後半の難易度の違いすぎにワロタ奴か

ガチの初心者が買ったら泣くな、間違いなく
2017/06/08(木) 06:06:44.29ID:5fxNYn+h
会社でPython入れてる人いる?
2017/06/08(木) 06:13:18.36ID:+7TOT64t
LISP書いてたら配列の,入れるの忘れるようになってよくシンタックスエラー吐かれてた
2017/06/08(木) 06:46:31.39ID:Che4gnSp
>>243
入れてるよ
ただバッチファイルではやりにくい処理とかをやらせるのに使ってたけど最近はPowerShellでやることが多くなったのであまり使ってない
2017/06/08(木) 08:36:31.97ID:SSbqo8UT
>>245
会社でpowershell、家でSwift、本当に好きなのはpythonな俺は、構文を混同して混乱しまくりだわ
247デフォルトの名無しさん
垢版 |
2017/06/08(木) 11:29:36.53ID:RTYYoCEV
>>217,241,242
自作自演の宣伝ご苦労さんです
2017/06/08(木) 16:18:44.25ID:oPuedIYN
s = 'abcあいう'
のときに
sl = ['abc', 'あいう']
に分割する方法を教えてください
分割する条件は半角の並びと全角の並びに分けることです
249デフォルトの名無しさん
垢版 |
2017/06/08(木) 16:30:15.13ID:HjFtHmDJ
>>248
そんなことよりあとのことを考えたら文字がなんなのか判定するロジックを考えた方がいいよ。
2017/06/08(木) 17:01:52.06ID:E1+CYD4H
正規表現使えばいけそうな気はする
2017/06/08(木) 17:01:56.08ID:k9ibMboe
>>248
半角全角ってひらがな、カタカナ、英数記号全て含むのか?
252デフォルトの名無しさん
垢版 |
2017/06/08(木) 17:02:49.90ID:nWL/9IZ5
お前らpython使ってんのwww
ばーーーーーかwww
253デフォルトの名無しさん
垢版 |
2017/06/08(木) 17:23:23.80ID:v/Klw7Re
アスキーコードに変換して128以下なら半角
2017/06/08(木) 17:32:12.81ID:SSbqo8UT
>>249
ある文字が半角か全角か判定できる関数が存在すると仮定(isHankaku)して、それを使ったらどうやって出来るかをまず考えるのが、pythonらしいと思う。
とりあえず、
def isHankaku(c):return re.match(r"[0-9a-zA-Z]",c)
としておけば、テストぐらいは出来る。
2017/06/08(木) 17:50:07.97ID:+7TOT64t
>>254
それを正規表現でやるのは非効率的で意味ないぞ
2017/06/08(木) 17:51:15.66ID:oPuedIYN
>>> import re
>>> s = 'あいうabcえおdefかきくけghこさしす'
>>> r = re.compile(r'([\x20-\x7E]+)', re.I | re.M | re.S)
>>> re.findall(r, s)
['abc', 'def', 'gh']
>>> r = re.compile(r'([\x20-\x7E]*)([\x80-\xFF]*)', re.I | re.M | re.S)
>>> re.findall(r, s)
[('', '\x82\xa0\x82\xa2\x82\xa4'), ('abc', '\x82\xa6\x82\xa8'), ('def', '\x82\xa9\x82\xab\x82\xad\x82\xaf'), ('gh', '\x82\xb1\x82\xb3\x82\xb5\x82\xb7'), ('', '')]

ここまでやってみたのですが
助言おながいしやす
2017/06/08(木) 17:52:42.67ID:SSbqo8UT
>>255
仮関数だから、なんでも良いんだよ。
2017/06/08(木) 17:56:53.39ID:oPuedIYN
一応これもやってみました

>>> import re
>>> s = 'あいうabcえおdefかきくけghこさしす'
>>> r = re.compile(ur'([\u0020-\u007E]*)([\u0100-\uFFFF]*)', re.I | re.M | re.S)
>>> re.findall(r, s.decode('cp932'))
[(u'', u'\u3042\u3044\u3046'), (u'abc', u'\u3048\u304a'), (u'def', u'\u304b\u304d\u304f\u3051'), (u'gh', u'\u3053\u3055\u3057\u3059'), (u'', u'')]
259デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:19:41.54ID:HjFtHmDJ
小手先のやり方だな。一文字ずつ読んで判断していけよw

英語圏の人間は、文字によってバイト数が異なるということがない前提で作っているからな。
2017/06/08(木) 18:22:47.73ID:5RxlakhW
pythonってこんなもんかいな
2017/06/08(木) 18:32:16.30ID:SSbqo8UT
正規表現で半角の定義ができるなら

re.findall('[%s]+|[^%s]+' % (hankaku,hankaku), input)

で良いんじゃないの?
262デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:37:14.78ID:TyBSFeDZ
>>259
一文字ずつ読んで判断する方法プリーズ
2017/06/08(木) 18:44:13.85ID:oPuedIYN
>>> import re
>>> s = 'あいうabcえおdefかきくけghこさしす'
>>> r = re.compile(ur'[\u0020-\u007E]+|[\u0080-\uFFFF]+', re.I | re.M | re.S)
>>> re.findall(r, s.decode('cp932'))
[u'\u3042\u3044\u3046', u'abc', u'\u3048\u304a', u'def', u'\u304b\u304d\u304f\u3051', u'gh', u'\u3053\u3055\u3057\u3059']

一応目的は達成出来ました
解答くださったみなさんありがd
264デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:55:38.92ID:nEFPzZj3
>>248
>>254
>ある文字が半角か全角か判定できる関数が存在すると仮定
標準ライブラリにあるんだよなぁ・・

http://ideone.com/o6H6KL
2017/06/08(木) 19:09:56.95ID:VLAoukVp
これがパイソニアンの限界
266デフォルトの名無しさん
垢版 |
2017/06/08(木) 19:12:49.38ID:TyBSFeDZ
パイソレイニヤンに限界なんかないやで
2017/06/08(木) 20:08:20.47ID:SSbqo8UT
>>264
あっても無くても良いんだよ
まずは便利な関数があると仮定するところから始める
268デフォルトの名無しさん
垢版 |
2017/06/08(木) 20:20:01.25ID:nEFPzZj3
こっちのがシンプルかな
http://ideone.com/uozWrU
2017/06/08(木) 20:29:13.32ID:zG0E6fLy
>>264,268
ギリシャやキリルなどの曖昧幅が含まれる場合(east_asian_widthだとA)
環境によって幅変わるから自動的に半角扱いにするのは微妙じゃない?
2017/06/08(木) 20:39:50.28ID:nWL/9IZ5
l=[['0','ab'],['0','cde'],['1','eff'],['2','ngg']]
上記の配列から
0と1の部分に分けて同じ多次元配列に入れる方法を教えて下さい

出力結果
r=[[abcde],[eff],[ngg]]

お願いします
271デフォルトの名無しさん
垢版 |
2017/06/08(木) 21:14:39.24ID:nEFPzZj3
>>269
でも、unicodeの仕様だから・・
2017/06/08(木) 21:26:49.80ID:p2VDTlbT
>270

http://ideone.com/GYCdiX
273デフォルトの名無しさん
垢版 |
2017/06/08(木) 21:30:58.94ID:TyBSFeDZ
>>272
14点
2017/06/08(木) 22:14:24.62ID:5o2j99iY
http://ideone.com/ijciMN
順序については言及されていないので考慮してない
2017/06/08(木) 22:39:54.02ID:nWL/9IZ5
えっ?

おぱんちゅ?
2017/06/08(木) 22:41:20.39ID:+7TOT64t
ほぼ同一でしかも俺のより洗練されたコードが書かれていたときのこの感じ
https://ideone.com/of0Ktr
2017/06/08(木) 23:01:42.75ID:nWL/9IZ5
>>276
きのこ の 漢字?

嘘です
>>272
>>274
>>276

本当にありがとうございました。
2017/06/08(木) 23:50:48.29ID:zG0E6fLy
>>277
亀だけど、keyごとにまとめるならitertools.groupbyがある
https://ideone.com/529rAp
2017/06/08(木) 23:54:28.37ID:+7TOT64t
itertoolsくんほんま便利っすねぇ
2017/06/08(木) 23:55:25.36ID:+7TOT64t
>>277
この先生きのこるという言葉が昔流行ってたなそういや
281デフォルトの名無しさん
垢版 |
2017/06/08(木) 23:57:00.10ID:nWL/9IZ5
>>278
ありです

チュートリアルを呼んだ限りでは、
pythonはもっと、やり方が少ないと思ってましたが、意外と多いんですね

単語自体は然程、変わらない見たいですが……。

ありがとうです。
2017/06/09(金) 07:15:03.33ID:rw1qC18c
Rubyはデフォルトで、encode メソッドで、日本語に対応している。
NKF で、カタカナ・平仮名など、細かく変換できる

外人は、日本語の定義に関わっていないから、日本語の判別はできない。
日本人が入っている規格・国際委員会じゃないと、判定できない
2017/06/09(金) 07:24:25.32ID:ZMmAiLJD
さすが末尾がどうとか言ってた奴は空気を読む能力もひと味違うな
2017/06/09(金) 09:09:56.13ID:8jBpz0Pj
>>282
endがキモい言語の話なんて聞きたくないでつーw
285デフォルトの名無しさん
垢版 |
2017/06/09(金) 11:10:04.22ID:znstrb5L
>>282
> 外人は、日本語の定義に関わっていないから、日本語の判別はできない。
むしろ第一人者が外人なんだよなぁ・・
286デフォルトの名無しさん
垢版 |
2017/06/09(金) 12:47:43.88ID:KPArChvd
rubyなんて覚えなくていいんですよ
railsがもてはやされてるだけでそのうちphpみたいにおっさん向けになるだけですから!!
2017/06/09(金) 13:37:57.69ID:n9EUGL7J
まともなレスがほとんどないな
有料んとこいくしかないか
2017/06/09(金) 15:05:47.97ID:9MmjmiaM
さようなら、元気でな
289デフォルトの名無しさん
垢版 |
2017/06/09(金) 18:33:53.93ID:I227GLuQ
OS:Windows10、xamppをインストール

PythonでSeleniumというものを調べてグーグルクロームの
自動操作にチャレンジしております。

クロームの起動、URLの入力などは行えましたが、
「新規タブを開く」というそれだけの操作が出来ない現状です。


https://medium.com/@shintaro_toyoguchi/python%E3%81%A7chrome%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%99%E3%82%8B-5e52871824a8
http://www.seleniumqref.com/api/python/element_set/Python_special_send_keys.html
これらから調べて、実行しますが、
エラーは発生せず、新規タブも開かない状態です。

aaaaa = driver.find_element_by_tag_name('body')
aaaaa.send_keys(Keys.CONTROL,'T')
こういった具合でCONTROLキーとTで開くという意図で実行しても
2行目の中を   Keys.CONTROL+'T'
としても新規タブは開かない状態です。

Keys.PAGE_DOWNや、Keys.UPなどで単独キーで画面を下げたり、上げたりの操作はうまくいくので
CONTROLと〜 ALTと〜など押しっぱなしの2つのキーを押す動作がうまくできていないのかと想像するのですが・・
すみませんが、よろしくお願い致します。
290デフォルトの名無しさん
垢版 |
2017/06/09(金) 19:09:46.53ID:KbSZteTQ
バグらしいぞ
これやってみたら
https://stackoverflow.com/questions/39281806/python-opening-multiple-tabs-using-selenium
291289
垢版 |
2017/06/09(金) 19:29:39.02ID:I227GLuQ
>>290
大変に有難うございました!
まさかバグで、このようにすぐ回答頂けて大変に助かりました。

そちらのサイトの2つめの答えの
To interact with a window, you need to set the context to〜〜
のような所を置き換えてみたら、
メインのタブに加えて新規タブを開くことができました。
stackoverflow等もすらすら読めるようにしないといけないですかね…
ありがとうございました!
2017/06/09(金) 20:16:27.78ID:QnJJmihU
>>290
あんた男前やな!
2017/06/09(金) 22:58:11.44ID:5czoYV9l
例外処理についてなんかしっくりきません
例えばcgi.pyを用いてcgiスクリプトを作るとき、そのcgi.pyのコードを読めばどこでどんな事をした時どんな例外が出るか分かりますが、cgi.py自体も色々なコードをimportしていて全て追いかけていられません
そうなると、テストの段階で引っかかる例外には対処できますが、それ以外の例外は不明なエラーとして片付けるしかなくなってしまうはずです
また、どの関数が例外を出すか分からないので、止まる位置によって復帰処理を細かく変えたいところではtry:except:でコードがガタガタになってしまいます
何かいい方法はないでしょうか?
2017/06/09(金) 23:34:19.74ID:ZMmAiLJD
本番もログっといて対処できそうならするし、できないならしないだけ

ガタつくのはエラー処理を例外に頼る言語の呪いみたいなもんで
いかようにもしようがない
2017/06/10(土) 00:32:15.21ID:p5cEokJX
>>293
どんな例外を出すか分からない関数が出してきた例外で正しく復帰するのは不可能だから諦めるしかない。
ドキュメントで明記されているものは処理して、他の例外はランタイムエラーでプログラムを停止させる。
ドキュメントがないライブラリは使わない
2017/06/10(土) 00:32:27.85ID:Gh+o1uOt
そうですか…うーんもやもやする
2017/06/10(土) 03:12:49.14ID:WtrsYPXN
実際javaには検査例外っていう投げられる例外を明示してその例外が投げられたときの対処処理を書かなければコンパイルエラーになるって仕組みもあるからその感覚は間違ってはないけどね

この辺は難しくて言語によって未だに試行錯誤がある
2017/06/10(土) 10:40:07.95ID:PQJA5zwZ
javaの例外義務化はうざい
2017/06/10(土) 15:06:19.78ID:q9A7XPCs
試行錯誤はしてるんだろうが
検査例外を採用した言語はJavaを除いて一つもないので
信者以外はあれを失敗だと見なしている
2017/06/10(土) 15:07:19.85ID:q9A7XPCs
http://qiita.com/Kokudori/items/0fe9181d8eec8d933c98
2017/06/10(土) 17:33:42.25ID:tyWD8KZe
Goのあれが一番やりやすい
多値は最高や
2017/06/10(土) 19:14:45.50ID:xSl9wCDP
仕事としては、Javaの検査例外が、確実。
絶対に無視できないから

ただ、面倒くさいから、Kotlin では無くなった。
そうすると、ろくすっぽ例外処理をしない、ソースコードが増える
303デフォルトの名無しさん
垢版 |
2017/06/10(土) 19:20:42.25ID:yLLSprfl
いつか来た道
2017/06/10(土) 19:30:51.03ID:xO5K6/Fq
確実に
catch(Throwable e){e.printStacktrace();}
するんですね分かります
2017/06/10(土) 20:26:05.83ID:CzqWl5Nx
Pythonは初心者の者です、よろしくお願いします

Pythonの読み方は「パイトン」と「パイソン」どちらでも良いそうですが、現場なんかではどちらの呼び方の方が多いですか?

個人的には英語のギリシャ語起源の単語などの発音に近いパイトンの方が好みなのですが…
これは私の第二外国語がドイツ語だったせいもあるかもしれません
2017/06/10(土) 20:39:34.89ID:T0tzL28a
元ネタが日本でよくモンティパイソンって呼ばれてるからな、多分パイソンのほうが通じやすい
2017/06/10(土) 20:43:22.71ID:GrQ3Xe9Q
どうあれ、>>300は分かりやすかった
2017/06/10(土) 22:33:33.89ID:jLYOqeYO
ピトンと発音するひとがいた。
309デフォルトの名無しさん
垢版 |
2017/06/11(日) 00:52:55.11ID:eBxL4N8c
>>305
英語圏ならパイトンは通じるだろうが、パイソンはまず通じない。
2017/06/11(日) 06:58:10.34ID:fqu+2byC
どこの英語圏だ
2017/06/11(日) 07:55:45.05ID:HFUbuA8d
パイトンもパイソンも通じねえよアホか
カタカナ英語とか小学生かっての
2017/06/11(日) 10:02:12.96ID:lFjk+ZAI
正しくはパイチョンだ
チョンにアクセントをもってくる
これなら世界中に通用する
313デフォルトの名無しさん
垢版 |
2017/06/11(日) 12:29:30.92ID:7PvmoOJK
NumPyについて質問です。

A = np.array([1, 2], [3, 4])
A.dtype

とやると


dtype('int32')

と出力されます。

ゼロから作るディープラーニングという本では、結果が

dtype('int64')

となっています。

この違いはなぜでしょうか?

anacondaは64bitのをインストールしています。
314デフォルトの名無しさん
垢版 |
2017/06/11(日) 13:01:45.12ID:fc8MQVNK
2つの配列を交互に結合

a=[0,0,0,0]
b=[1,1,1]

求める結果
0,1,0,1,0,1,0

どの様にしたら実装できるでしょうか?
教えて下さい。
315デフォルトの名無しさん
垢版 |
2017/06/11(日) 13:09:43.10ID:7PvmoOJK
[a[i//2] if i%2 == 0 else b[(i-1)//2] for i in range(len(a) + len(b))]
2017/06/11(日) 14:09:57.37ID:abflG9dt
長さが同じならzip, chainでいいんだけどな
2017/06/11(日) 14:18:10.99ID:abflG9dt
>>313
Windows(笑)使ってるだろ
numpyのデフォルトの整数型のサイズは
その環境のCランタイムのlong型のサイズになる

Windowsは64bit環境でもlong型は32bit
LinuxやUnix(OSX含む)は64bit環境ならlong型は64bitになる
318デフォルトの名無しさん
垢版 |
2017/06/11(日) 14:28:10.21ID:fc8MQVNK
>>315
ありがとうございます
失礼します
2017/06/11(日) 14:28:47.32ID:7PvmoOJK
>>317

Windowsに比べてLinuxが優れているところって何ですか?

どうも使いにくいのでWindowsのみ使っています。
2017/06/11(日) 14:54:06.94ID:xOOyeNe0
windows用ソフトは単体で使うことが前提のものが多い

linuxというかunix系はコマンドラインで使うプログラムが主で
標準入出力の概念があるので複数のプログラムを連携させやすい
2017/06/11(日) 15:06:34.47ID:3LdQN3Tj
flask でjavascript使うときってCDNでやるのが一般的ですか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況