[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 05/21 11:57 / Filesize : 231 KB / Number-of Response : 1026
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part54



1 名前:デフォルトの名無しさん [2017/09/01(金) 16:44:47.30 ID:igIE9hK/.net]
Pythonオフィシャルサイト
www.python.org/

テンプレ等は2以降で

■前スレ
Pythonのお勉強 Part53
mevius.2ch.net/test/read.cgi/tech/1494683284/

190 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 00:36:23.07 ID:5FWi1qeK.net]
>>180
Libre Office のマクロを、Python で書けば?

Godot ゲームエンジンは、Python 風言語。
Godot をJavaScript にしたものが、Cocos Creator

191 名前:35歳 mailto:age [2017/09/30(土) 22:05:00.79 ID:y8lb5R8S.net]
こんばんは。頭の悪い皆さん。
setをintに変換するにはどうしたら良いのか教えて下さい。

192 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:37:39.98 ID:bdWiGd6R.net]
HAHAHA >>186 are very stupid
{'a', 'b', 'c'} ← This is set. It is never possible to convert set into int.

193 名前:デフォルトの名無しさん [2017/09/30(土) 22:44:23.88 ID:V09SfC5o.net]
型ヒントに関する質問です

自分と同じクラスのオブジェクトを返すメソッドの返り値の型ヒントはどう書けばいいのでしょうか>

class Hoge():
def huga(self) -> Hoge:
return self

とか書くと、mypy のチェックは通るのですが、実行時に

Traceback (most recent call last):
 File "hoge.py", line 3, in <module>
  class Hoge ( ):
 File "hoge.py", line 4, in Hoge
  def huga( self ) -> Hoge:
NameError: name 'Hoge' is not defined

とエラーになります。

型ヒントを書かなければ当然エラーにはならないのですが

194 名前:35歳 mailto:age [2017/09/30(土) 22:46:32.33 ID:y8lb5R8S.net]
意思疎通が図れないアスペの方ですか?
悪いんですけどコード出してくれます。

知能が低い人と会話すると疲れます。

195 名前:デフォルトの名無しさん [2017/09/30(土) 22:48:18.26 ID:V09SfC5o.net]
188 です。
クラス定義の方のコード、行頭の半角スペースが消されてしまいました。
全角で書き直すと
class Hoge():
  def huga(self) -> Hoge:
    return self
です。

196 名前:35歳 mailto:sage [2017/09/30(土) 22:53:15.34 ID:y8lb5R8S.net]
真面目に質問してるのに、訳の解らないコードを貼らないで下さい。
怒りますよ?

197 名前:デフォルトの名無しさん [2017/09/30(土) 22:55:43.99 ID:1jTnlOmW.net]
set = int

198 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 23:07:09.43 ID:BzLQ0tVY.net]
setをintでっていうのは、
intをビット配列に見立てて、
i番目の要素があればi番目のビットを立て、i番目の要素がなければビットをオフにする、
ってことだと思う。
setに入りうるものが事前に分かっていて、0から順に連番を割り当てることが出来るなら、setのかわりにintで管理出来る。
競技プログラミングだと、bitDPとかで良く使う手法。
setに入り得る要素が沢山ある時は実用的でない。せいぜい60個くらいまでだと思う。



199 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 23:46:15.54 ID:0FcI7aTY.net]
>>190
そもそも return self ってオブジェクトのメソッドを呼び出して自分自身を返すの?それとも呼び出されるごとに新しくインスタンス作って返すの?

前者の場合、huga を呼び出せるってことは Hoge のインスタンスにアクセスしてる訳だから意味的におかしい
ファクトリみたいに呼び出されるたびに新しいオブジェクトを作るのか、シングルトンみたいに毎回同じオブジェクトへの参照を返すのか区別をつけなきゃならんと思う

ちょっと調べると似たような質問はあるけど..
https://stackoverflow.com/questions/40149768/python-type-hinting-to-return-class-in-function

200 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 23:47:25.21 ID:Kp0KYdLM.net]
順序があるset……?

201 名前:デフォルトの名無しさん [2017/09/30(土) 23:57:41.26 ID:V09SfC5o.net]
>> 194
huga()は、例が悪かったかもしれません。
元々書きたかったのは、ちょっと中身を変えた自分自身のコピーを返す関数です。

なので、新しいオブジェクトを返す関数です。

202 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:16:58.79 ID:OHbSOJFd.net]
>>195
set は重複を許可しない集合であって、順序がついててもおかしくない
他の言語にもOrderd Setみたいなコレクションがあるし、Python用にも作ってる人がいる
https://pypi.python.org/pypi/ordered-set

203 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:37:55.38 ID:K0lZBGAK.net]
>195
コンテナの中の順序があるかないかと、要素自体が順序比較をサポートするかどうかは別の話だよ。
setには、順序比較できる要素を入れることも出来る。

listに順序があるというのは、
[1, 2, 3]と[3, 2, 1]が区別されるということ。コンテナに入っている順番を区別している。
setに順序が無いというのは、コンテナに入っている順番が区別されないということ。

これらは、listやsetの要素が大小関係を持つ持たないということとは違う。
listか、setかに関係なく、1<2という順序関係はある。(この順にコンテナに入っている問
ことでは無い)
また、順序関係を持たない要素(たとえば複素数)であっても、listやsetに入れることはできる。

以上のように、コンテナに入れた順序を保持するかどうかと、要素自体が順序比較をサポートするかどうかは、別の話。

で、ビットマスクで集合を管理するときは、
コンテナに入れた順番は勿論記録されない。(なので、巡回セールスマン問題で訪問済みの頂点だけでなく、最後に訪問した頂点の情報も必要なときは、ビットマスクの他に、最後に訪問した頂点の情報もべっと保持する。)
要素に対しては、どこのビットがその要素を表すかを決める必要があるので、何らかの方法で要素に順序をつけることが必要になる。

204 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 01:22:03.33 ID:6PWiZt35.net]
Pythonでタブキー押すとエラーが出るんだけどググってもよく分からん
誰か解決法教えてエロい人!
エラー最後の部分がこれ
File "C:\Program Files\Anaconda3\lib\rlcompleter.py", line 80, in complete
readline.redisplay()
AttributeError: module 'readline' has no attribute 'redisplay'

205 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 01:22:27.98 ID:6PWiZt35.net]
ちな環境は
Python 3.6.2 |Anaconda custom (64-bit)| (default, Jul 20 2017, 12:30:02) [MSC v.
1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

206 名前:デフォルトの名無しさん [2017/10/01(日) 05:04:37.95 ID:Q7WarGyN.net]
>>199
これと似たような問題な気が
まだopenだから未解決かも...
https://github.com/pyreadline/pyreadline/issues/49

207 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:45:14.35 ID:aVSvWtqd.net]
Python は、半角空白の数が、文法的に意味を持つ

タブ文字を使っちゃ、ダメだろ

208 名前:デフォルトの名無しさん [2017/10/01(日) 09:49:36.32 ID:xDsv9kMn.net]
タブ一個と空白一個で数があってりゃ問題ないよ



209 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:05:50.87 ID:a+6SxdIf.net]
タブはタブ、空白は空白で数と並びが合ってなきゃダメだろ。

210 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:40:49.76 ID:6PWiZt35.net]
サンクス
治らないからアナコンダ最新版に入れ直したら一応治った
で、pip-review入れたけど何故かちゃんと動かないからアナコンダアンインスコした
生pythonにした

211 名前:デフォルトの名無しさん [2017/10/01(日) 11:05:40.95 ID:Yfu5RE6T.net]
>>205
でもそれだと、anacondaで入るデータ解析とか科学計算のライブラリが入らないですけどいいんですか?

212 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:29:12.10 ID:coFT7XLp.net]
PEP8ではスペースが望ましいとの見解
ttp://pep8-ja.readthedocs.io/ja/latest/#id7

Atomエディターにatom-beauty(とautopep8)入れたら悩まずに済む
※ 個人の感想です

213 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:33:46.89 ID:6PWiZt35.net]
>>206
え?入ったけど?
何のライブラリ?

214 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:36:18.24 ID:soYJ1KBc.net]
必要ないのにAnaconda入れてトラブってるとか微笑ましすぎるわ

215 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 12:03:49.83 ID:6PWiZt35.net]
>>209
ええ…
アナコンダ入れるのがオススメって結構あちこち書いてあるじゃん
俺が勝った本には書いてあった

216 名前:デフォルトの名無しさん [2017/10/01(日) 12:44:23.64 ID:Q7WarGyN.net]
Anacondaは計算ライブラリとか色々入ってるから初学者にはオススメだとは思う。

ただ、
pipがあるのにcondaという独自パッケージ管理システムをつくっていてややこしいし(pipにはあるのにcondaにはないライブラリがあったり)、
pyenvとの衝突問題もあるので、後で別のpython環境を構築しようとすると苦労する。
あとAnaconda特有のライブラリ間の依存関係とかあったりするけど、初学者には自分のコードが引き起こしたエラーなのかAnacondaのバグなのかわからない。
ので、209の言いたいことはわかるなぁという気持ち。

217 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:05:17.56 ID:4xl9+nd3.net]
俺もオススメとか見て、アナコンダ試してみたけど
かえって面倒くさかった。速攻止めた。生がイチバン。

218 名前:デフォルトの名無しさん [2017/10/01(日) 13:11:25.35 ID:kGcvTs6z.net]
初学者が何も考えずにAnacondaをインストールして問題ないって気があんまりしない
相場が分かっている方が環境を作るのが面倒だからって入れるものかなあって



219 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:24:44.89 ID:RQrxfsBp.net]
アナコンダでええよ
でもアップデートや追加インストールや
カスタマイズしようとしてはいけない
それだけ守れば何のトラブルも起きないよ

220 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:29:15.41 ID:GmZqlXb3.net]
anaconda最高

カスタマイズしたかったらconda createで新しい環境作ればいいし要らなくなったらサクッと消せる

221 名前:venv virtualenvとか面倒くさすぎるだろ初心者には []
[ここ壊れてます]

222 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 14:14:44.48 ID:LFbo+6zl.net]
>>204
面倒臭い言語だな

223 名前:デフォルトの名無しさん [2017/10/01(日) 14:22:23.05 ID:Yfu5RE6T.net]
venvで新しい環境サクッと作って、サクッと消せるんだよなぁ

224 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 15:00:05.37 ID:54VuRfXe.net]
初心者は環境なんて概念理解できるのかな

225 名前:デフォルトの名無しさん [2017/10/01(日) 15:04:44.26 ID:m+w/jR3z.net]
anacondaとVisual Studio 2017 どっちが良いの?

226 名前:デフォルトの名無しさん [2017/10/01(日) 15:32:15.27 ID:dZZybuoZ.net]
>>212
生コンだ

227 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 21:51:12.50 ID:kbs1ZBNe.net]
>>219
お前みたいなバカはPC捨てて寝ろ

228 名前:デフォルトの名無しさん [2017/10/01(日) 22:32:51.46 ID:Q7WarGyN.net]
venvは公式に取り込まれた
https://docs.python.jp/3/library/venv.html
ので、環境系はこれ使ったほうがいいよ...



229 名前:デフォルトの名無しさん [2017/10/02(月) 00:39:40.29 ID:QmxKy2Z/.net]
Python3.x系の定番の入門書ってある?

230 名前:デフォルトの名無しさん [2017/10/02(月) 01:02:36.60 ID:Q3MtSi1e.net]
本じゃないけど、公式のチュートリアルが一番わかりやすい。無料だし
https://docs.python.jp/3/tutorial/index.html

231 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 01:19:59.21 ID:HyMICiCn.net]
みんなのPython 第4版、2017

232 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 03:13:21.79 ID:E4t1jFeI.net]
やっぱみんPyが良いのか

233 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 06:36:07.58 ID:1WKBEPz+.net]
みんなのpython新しいのはアナコンダオススメだったよな

234 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 06:36:33.10 ID:1WKBEPz+.net]
やだねー

235 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 15:13:08.15 ID:Pw/zZ4YF.net]
>>223
他のプログラムの経験があるか無いかで、
オススメ本も全然違ってくる

236 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 18:27:45.46 ID:AbHSsFaJ.net]
condaだと自分の環境に最適化されないけどpipだと最適化されるってマジ?

237 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 19:59:59.92 ID:0uNSEDCV.net]
いいえ
どこでそんな半端な知識を得たのか知らないけど、最適化される場合ってのは

* CやC++などで書かれたモジュールが
* ソースコードで配布されていて
* インストール時にビルドされる

場合に限られる
condaでもソースで配布されていて、インストール時にビルドされるライブラリがある
pipでもバイナリで配布されていて、インストールのビルドを行わないライブラリがある
どっちなら最適化される、などと単純な話ではない

238 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 23:48:22.71 ID:m3pbCQh0.net]
>>225
もうPython 4.xか



239 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 23:50:40.43 ID:m3pbCQh0.net]
__call__って何?
ハンクタと同じ??

240 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 23:51:55.69 ID:iu8/hk+r.net]
python4になったらpython2と3が統合されますように

241 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 00:17:53.29 ID:AOU4wQiN.net]
C++でoperator|()と書いていたのを__or__()と書くようになったのは人類の進歩を感じる
これのおかげでインテリセンスで定義元にすぐ飛べるようになた

242 名前:デフォルトの名無しさん mailto:age [2017/10/03(火) 00:59:07.84 ID:bHj+nVig.net]
世紀末氷原(正規表現)
大文字、小文字のA~zの検索
どの様に記載したら良いでしょうか?

「アタタタ……(中略)…タタタタアホワッチャア!!!」 以外でお願いします。
少し、疲れてるかも知れません。

243 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 04:50:38.49 ID:ThmtSZdb.net]
>>236
[a-zA-Z] でいいじゃん

244 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 05:17:50.29 ID:sYQLzq/r.net]
そういえば、pythonって、POSIX文字クラスには対応してなかったんだな。
[:alpha:] みたいなやつ。

245 名前:デフォルトの名無しさん [2017/10/03(火) 09:16:53.36 ID:nH2BZkoP.net]
民間ロケットpythonだったにょ
しかも秋月ω

246 名前:236 mailto:sage [2017/10/03(火) 10:55:35.97 ID:Rm4YEOHZ.net]
>>237
ありがとうございます。

247 名前:デフォルトの名無しさん [2017/10/03(火) 13:53:20.08 ID:YX ]
[ここ壊れてます]

248 名前:XLGtFc.net mailto: 北チョンのもくてきはぴょんちゃんの妨害 []
[ここ壊れてます]



249 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 11:10:49.39 ID:5B5peuj1.net]
私、ネットの情報収集などにhttplib2を愛用してまいりました
キャッシュをサポートしているのがhttplib2の良いところなんですが、最近発掘したサイトにアクセスすると
エラーを吐きやがってアクセスできないことに悩まされました。これは稀なケースでほとんどのサイトでは問題なく動作します
ですからこれはhttplib2の問題じゃなくてサイト側が悪いのだと思っていました
思っていましたが、試しにurllib.requestと前々から気になっていたRequestsでその問題のサイトにアクセスしてみたんです
そしたら正常にエロ画・・じゃなくて、そのサイトの有益な画像データを正常に取得できたのです
httplib2がアカンのやとはっきり分かりました

httplib2がサイトにアクセスできないケースは2つあります
1つはSSLError、httplib2のSSL認証設定を無効(disable_ssl_certificate_validation=True)にすれば回避できるサイトもあるのですが回避できないサイトもあり、その場合はお手上げです
もう1つはhttplib2.RedirectLimit、リダイレクトしまくる糞エロサイトでリダイレクト上限に達してエラーになるようなんですが回避策はググっても出てこずこれもお手上げ

これらの問題がurllib.requestやRequestsでは全く起こらず正常にアクセスできます
なので私、この機会にRequestsへの移行を決心しました
httplib2はおすすめしません

250 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 11:14:44.63 ID:e2PGw4tF.net]
先にurllib.requestでredirect先を確認してから
そこへhttplib2でつなげば医院で内科医

251 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:02:44.10 ID:5B5peuj1.net]
>>243
なるほど、それならRedirectLimitのエラーは回避できそうだねと思って試してみました
そしたらリダイレクトしてないみたい(httplib2のエラー名だけでリダイレクトが原因と思い込んでいたけど・・)

>>> url = '問題のサイトのURL'
>>>
>>> import urllib.request
>>> r = urllib.request.urlopen(url)
>>> r.geturl() == url
True

>>> import requests
>>> r = requests.get(url)
>>> r.history
[]

>>> import httplib2
>>> h = httplib2.Http()
>>> r,c = h.request(url)
httplib2.RedirectLimit: Redirected more times than redirection_limit allows.

原因は分からないけどhttplib2は糞なのは分かった

252 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:21:27.10 ID:e2PGw4tF.net]
どのサイト見てるのかは知らんけど
文字コードとかmetadataのencodingとか可笑しいと
正常に動かないのかもね

253 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:25:14.78 ID:5B5peuj1.net]
ここだよー、水着だから大丈夫だよー
ttp://intervaluesa.com/k/kodamaharuka4.html 👀
Rock54: Caution(BBR-MD5:ea107c9c1581680b0310fcc05371d356)


254 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:25:50.36 ID:1MR+etUU.net]
逆かも
urllib.request とか Requests がリダイレクトを無視してカラっぽのところにアクセスしてるからエラー出ないだけだったり

知らんけど

255 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:31:04.33 ID:5B5peuj1.net]
>>247
urllib.requestやRequestsは>>246のHTMLデータを取得できてるよ
URL貼ったし興味ある人は色々試してくれ  アディオス

256 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:44:30.91 ID:1MR+etUU.net]
ヘッダで自分自身へリダイレクトしてて無限ループだったり

知らんけど

257 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:49:10.70 ID:FCQlMfXg.net]
ヘッダー偽装すりゃうまく逝くんでね?

258 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:42:42.35 ID:tlQ4cnRN.net]
関西弁直せば動くと思う



259 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 19:05:05.58 ID:8IzfOwlD.net]
numpyの配列なのですが、1つの配列に一人分のデータが入ってるとして
新しい人のデータを追加したいときはどうすればいいですか?
人の数だけ配列の数を増やしてもいいのですが、for文などで全ての配列を繰り返せるようにしたいです

260 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 19:05:44.73 ID:e2PGw4tF.net]
列を増やす

261 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 20:59:49.05 ID:8IzfOwlD.net]
people = 5
people_list = np.array((people, 1),np.int64)
for n, h in zip(number, height):
people_list[n].append(h)

numberは人の番号で、その順番通りにheightに身長が入っていますが、こうやるとエラーになります。
どうすればいいですか?

262 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:37:20.09 ID:GgygFLqe.net]
>>254
list だか array に append しよう
people_list[n] はただの数字だから append できない
毎回データを入れたり加工したら print と type で中身が何なのか見るといい
numpy のオブジェクトなら .ndim, .shape, .size あたりでデータがどういう形のなのか見ることができる

263 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:48:21.78 ID:tkJ4WDEe.net]
すいません、教えてください

super(class)とは何でしょうか?
意味が解りません

264 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 22:25:45.13 ID:LMmIYSE5.net]
>>256
近所にスーパーがあるやろ?
そのクラス

265 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 22:53:12.58 ID:6/ocOR0w.net]
>>257近所にはdepartmentがあります

266 名前:デフォルトの名無しさん [2017/10/04(水) 23:08:34.65 ID:JfbK0QFc.net]
>>257
ワイの辺は、よろず屋しかないわ

267 名前:スッキリ厨 mailto:sage [2017/10/04(水) 23:26:38.27 ID:+JSlwxf3.net]
君は、勉強の順番を、間違った。
スッキリでオブジェクト指向、Ruby で関数型を学ぶ

まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

その後、この2冊をこの順に読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

268 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 09:01:51.47 ID:7YYWZIFC.net]
>>255
なるほど、ありがとうございます!



269 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 10:02:45.98 ID:7YYWZIFC.net]
すみません、もう一つ。。

arr = [[]]*3
arr[0].append(0)
print(arr)

とした時に、
[[0],[],[]]
となって欲しいのですが、
[[0],[0],[0]]
になってしまいます。
どうすればいいですか?

270 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 11:55:22.98 ID:TEqaJXZn.net]
arr=[[] for I in range(3)]
とすればいけるはず。
[[]]*3だと、同じリストを参照するものが、3個あることになって、1つ変えると、他も変わる。

271 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 18:02:13.66 ID:7YYWZIFC.net]
すごい!ありがとうございます!

272 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 15:47:41.90 ID:YIttGZb9.net]
beautifulSoupで

name = a.find(itemprop="name").text

で値を取得しようとしていますが、
ある1つのページだけ、

a??a?\  

みたいな文字化け文字が返ってきてしまいます。

これって何のコードページですかね?
webページは、charaset = 'utf8'の指定があります。

同じひな形の他のページでは問題ありません。

ローカルにファイル落としてから実行してみるときちんと取得できます。
javascriptとかが悪さしてるんですかね?

273 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 15:48:52.29 ID:YIttGZb9.net]
a??a?\  と変換されてしまいましたが、
本当は、aeみやいな文字から開始されています。

274 名前:デフォルトの名無しさん [2017/10/06(金) 16:41:00.94 ID:uoobo3tb.net]
charset通りにエンコされてるとは限らないからなー

275 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:07:09.04 ID:YIttGZb9.net]
>>267
ブラウザーで表示ししても普通の日本語だし、
そのページだけがおかしな結果を返すって、どうやって問題判別したらいいですかね?

276 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 21:13:46.60 ID:30OgfBeu.net]
解決方法:そのページのURLを貼る

277 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 21:28:39.22 ID:tqIbkLAn.net]
TeraPad でも、中国の地名の「深せん」の「せん」は、? になる。
サロゲートペア(4 byte 文字)

他にも、丸で囲んだ数字は、Windows の環境依存文字。
各スマホ会社の絵文字とか

ブラウザでは見れても、各アプリでは対応していない事が多い。
Ruby 以外の各アプリでは、日本人の開発者がいないから

278 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 21:58:40.58 ID:BqUhpBOn.net]
chardet使ってがんばるとか



279 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 23:54:24.28 ID:k7MGRodg.net]
<?php
 
//ニュースを取得し配列に格納する
$news_array = get_news();
 
//確認する
var_dump($news_array);
 
//最初の挨拶
$say = "最新のニュースをお伝えします。";
exec('/usr/local/bin/jsay '.$say);
 
//ニュース分だけ読み上げる
for($count=0; $count < count($news_array); $count++) {
exec('/usr/local/bin/jsay '.$news_array[$count]);
}
 
//最後の挨拶
$say = "ニュースをお伝えしました。";
exec('/usr/local/bin/jsay '.$say);
 
function get_news() {
//$data = array();
$rss = simplexml_load_file('www3.nhk.or.jp/rss/news/cat0.xml');
$array = array();

280 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 23:54:46.02 ID:k7MGRodg.net]
 
$i = 0;
foreach ($rss->channel->item as $item) {
// $x = array();
// $x['link'] = (string)$item->link;
// $x['title'] = (string)$item->title;
// $x['description'] = (string)$item->description;
// $x['pubDate'] = (string)$item->pubDate;
// $data[] = $x;
 
if ($i == 0) {
$x = "最初のニュースです。";
}
else {
$x = "次のニュースです。";
}
 
$x .= (string)$item->description;
 
$array[] = $x;
$i++;
}
 
return $array;
}
?>

281 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 23:56:47.82 ID:k7MGRodg.net]
PHPで書かれたラズパイ(OPENJTALK)を喋らせるスクリプトです。

.pyに書き換えできた奴が優勝
よろしくお願いしますm(__)m

282 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 00:01:29.80 ID:PGbGVahj.net]
はいはい
お薬飲んで寝ましょうね

次の方どうぞ

283 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:03:06.79 ID:ZEQ3aPdc.net]
俺はできないけど、上のヤツもできない
すまんな

284 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:07:42.82 ID:5BLCZyWZ.net]
タダで他人にやらせようなんね虫が良すぎるとは思わんかね

285 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 04:37:45.13 ID:ZHVQCO5Z.net]
>>265
HTTPヘッダで指定されてるのか
HTMLで指定されてるのか
両方で指定されてるのか

curlとか単純なツールでダウンロードしてみてエンコーディングを調べる
odとかfileとかで

286 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 09:45:58.22 ID:T59cRflU.net]
>>274
大丈夫
その程度ならちょっと勉強するだけでできるから頑張れ

287 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 13:28:02.94 ID:ZEQ3aPdc.net]
ここまで優勝者不在

288 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 16:35:57.38 ID:LZpsREVO.net]
先頭に¥マークがついている文字列の数字をintで数字にしたいんですが、先頭の¥はどうやって外すんでしょうか?
stripやreplace使うと、\xが先頭について16進数になってしまいます。



289 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 16:53:12.39 ID:1zSdZ2Jj.net]
>281
全角の円記号なら、
int(s[1:])

バックスラッシュに相当する円記号だと、よく分からん。

290 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 16:55:27.09 ID:LZpsREVO.net]
>>282
返信、ありがとうございます。
バックスラッシュに相当する¥記号です。
配列に入れて先頭を消してみます。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<231KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef