くだすれ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(火) 12:37:09.42ID:kZmKLGhR
悪いことは言わないからpyenvでも使ってインストールしろ
202デフォルトの名無しさん
垢版 |
2017/06/06(火) 12:43:23.62ID:qR6xCFc0
>>200
多次元配列 斜めの計算
l=[[1,2,3],[4,5,6],[7,8,9]]
1*5,5*9,1*5*9
3*5,7*5,3*5*7
とかの計算ってどうやって実装するんですか?
203デフォルトの名無しさん
垢版 |
2017/06/06(火) 12:54:16.67ID:qR6xCFc0
イメージ的にこんな感じです
http://fast-uploader.com/file/7052276778810/

誰でも良いんで回答おねがいします
2017/06/06(火) 13:02:23.36ID:dQbl7F4D
def init():
__変数たくさん定義

def test1():
__global init()
__なんかする

def test2():
__なんかする

みたいな非クラスながらinitありみたいなことがしたいです
一々global宣言するのも面倒くさい数の共通変数使いたい
オブジェクト指向化するとselfselfうるさいし、そこまでは大きいプログラムじゃない
どうにかなりませんか?
205デフォルトの名無しさん
垢版 |
2017/06/06(火) 13:14:22.18ID:4VBDgxqx
あれシングルクオートの中でシングルクオートを書く場合は2個書くっていうのは別の言語の話だったかもしれない
何の言語だったっけな
2017/06/06(火) 14:08:02.09ID:INugDVIg
>>199
tar xJvf Python-3.6.1.tar.xz
cd Python-3.6.1
./configure
make
sudo make install
これでおk
207デフォルトの名無しさん
垢版 |
2017/06/06(火) 14:30:02.59ID:qR6xCFc0
tar (child): Python-3.6.1.tar.xz: open 不能: そのようなファイルやディレクトリはありません
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now




usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help

error: no commands supplied
2017/06/06(火) 14:48:59.12ID:YcFu/OxL
>>204
selfじゃなくてsを使う
2017/06/06(火) 14:52:41.89ID:YcFu/OxL
>>204
まあ、pythonはpythonらしくなく使うのに向いてない言語だから、pythonらしさが合わないなら素直に別の言語使った方が良いよ
2017/06/06(火) 15:37:30.46ID:qR6xCFc0
誰か分かりませんか?
できれば1*9 3*9のパターンもお願いしたいです
2017/06/06(火) 15:51:33.78ID:G4qih080
死ね
2017/06/06(火) 15:58:07.75ID:w50v8b8n
>>210
何がしたいか全くわからん。
2017/06/06(火) 15:59:59.90ID:IxR3UfKy
画像に書いてあるのも含めパターンが全然わからんし何を計算したいのかもわからん
あと3*3行列だけ計算できればいいのかそれとも任意の正方行列なのかとかもっと詳しく説明しろ
2017/06/06(火) 16:07:24.64ID:qR6xCFc0
全通りの計算結果が欲しいです

配列の中の重複しない、すべての組み合わせ(2個ずつ3個ずつ……9個ずつ)
全通りの計算結果と式です
2017/06/06(火) 16:13:53.02ID:qR6xCFc0
1と23456789
2と23456789
3と3456789

1と2 なら 3456789
1と3 なら 2456789

1と2と3 なら 456789
1と2と4 なら 356789


見たいな感じです
2017/06/06(火) 16:43:51.25ID:IxR3UfKy
ごめんまだよく分らんw

例えば配列をlとしてlの要素数が3だったら

l[0]*[1]
l[1]*[2]
l[2]*[1]

l[0]*[1]*l[2]

の4つの値を計算したいってこと???
2017/06/06(火) 17:47:50.51ID:fmAVRzOY
amazonランキングにpythonの本が入ってるの初めて見たんだけど特別な本なの?
218デフォルトの名無しさん
垢版 |
2017/06/06(火) 19:07:35.39ID:2BJddV2r
きたあああ!宣伝くるぞおおおおおおおおおおおおお
2017/06/06(火) 22:11:31.21ID:QkIHseit
餅は餅屋だから
米か印のランキングみたほうがいいぞ
てか英語くらい読めないと
220デフォルトの名無しさん
垢版 |
2017/06/06(火) 22:13:09.79ID:mfyahOnQ
餅は家でついた方が旨いぞ
2017/06/06(火) 22:23:07.26ID:h4uWY9yx
臼持ってるか、すごいな
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のあれが一番やりやすい
多値は最高や
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。