くだすれPython(超初心者用) その50【まず1嫁】

■ このスレッドは過去ログ倉庫に格納されています
2020/08/27(木) 20:24:10.68ID:WXD9Eu8v
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2020/09/25(金) 09:39:14.45ID:UVM8czPJ
ID隠してるやつは土着の?あらしだからスルーな>>all
2020/09/25(金) 09:42:19.52ID:ur/x7yKF
あらしと思わせたければIDを隠す
そう思わせたくなければIDを出す
これだけで精神レベルの低い人間を簡単に操作することができます
2020/09/25(金) 09:44:15.01ID:UVM8czPJ
おれいを言うとチヌ病気にかかってるアフォに目印ついて便利っちゃー便利>うんこ装着してID隠し
2020/09/25(金) 09:46:23.27ID:bD1YsBMG
>>512
f=True
while f:
_for n in ['a','b','c']:
__print(n)
_print('回った')
2020/09/25(金) 09:48:57.77ID:7HeHw0Rd
>>510
ありがとう。
配列[0]に大きい数字が入りやすいけど最後に
シャッフルすれば期待値は同じになりそうですね。
518デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:54:23.25ID:ADlgR+X9
>>500
StopIterationがraiseされる
2020/09/25(金) 10:41:40.02
>>516
そうなんです
使わないのなら2重ループすればいいし
使うなら分岐でitertools自身の関数を使えるし
それらの落とし所を探っている感じです

>518
cycleはその名の通りstopしないのでしょうがisliceなどはtry:except StopIteration:で処理を分岐できました

ただ、もしかしたらという方法を何個か思いついたので試してみたいとおもいます
ありがとうございました
2020/09/25(金) 10:42:59.41ID:q10QaMUD
コードを書く以前に日本語で仕様を書く練習をしたほうがいいやつが多いな
2020/09/25(金) 11:48:17.48ID:UVM8czPJ
>>517
これでおkなら何より
522デフォルトの名無しさん
垢版 |
2020/09/25(金) 12:19:53.43ID:4ovx1Tzj
100個の候補から150個ランダムに出力する場合
期待値同じに出来ないだろう
2020/09/25(金) 14:40:18.87ID:0Ox6cB/k
n = ['aaa','bbb']
m = ('ccc','ddd')

n = n + m
は通らないのに
n += m
は通るのはなんでだで?
2020/09/25(金) 15:39:45.91ID:q10QaMUD
それぞれ違う関数で呼び出される中身も違うから
2020/09/25(金) 19:57:07.41ID:2UfubMhi
Pathlibで拡張子抜きのファイル名だけリネームしたいんだけど
renameの仕様が凄く気持ち悪い
なんでrename(’hoge’)でhoge.txtにリネームしてくれないんだ…
2020/09/25(金) 20:04:18.33ID:UVM8czPJ
>>525
ファイル名だけリネームならバッチで充分やろ
2020/09/25(金) 20:05:07.32ID:ev0lGGxz
そんなリネームする関数がある環境が知りたいわ
VBAとかにはあるのかな
2020/09/25(金) 20:07:16.09ID:ev0lGGxz
Pathlibのrenameはosのrenameを呼んでる
osのファイルシステム操作関数はposixインターフェースに習っている
文句はposixに言ってくるべき
2020/09/25(金) 20:27:56.97ID:UVM8czPJ
>>527
「コマンドプロンプト ren 一括」
2020/09/25(金) 21:04:49.04ID:q10QaMUD
>>529
renも拡張子指定するよね?
2020/09/25(金) 21:16:32.67ID:UVM8czPJ
>>530
やり方次第
2020/09/25(金) 21:32:14.62ID:9du6H2FS
何でもかんでも txt にしたらあかんやろ。
2020/09/25(金) 21:37:02.48ID:q10QaMUD
>>531

ren foo.txt bar.*

もしかしてこういうのを拡張子を指定しないと言ってる?
534446
垢版 |
2020/09/25(金) 23:28:21.84ID:+b1tEVaH
>>483 
ダウンロードしようとしたんですが、libclangにpython2.7.3時点のバージョンがないので
2.7.3のときは別のものを必要としたように見えます
あとなぜか Make sure you have a working Qt qmake on your PATH.に逆戻りしました

今更ですがpip使ったほうが早いですかね
ただpipもslscontext objext not foundとかでインストール失敗するんですよね
2020/09/26(土) 00:09:25.31ID:evkbhpg+
とあるサイトをrequests.getするとres.status_codeで403が返ってきます
ブラウザからだと普通に繋がります
で、User-AgentやらRefererをブラウザのリクエストヘッダから写し取り
headersに設定したのですがやはり403です
何か他に思いつく要因はありますでしょうか?
ちなみに他のサイトだと403だったのがheadersの設定後、200のステータスコードを取得できました
2020/09/26(土) 00:15:21.58ID:evkbhpg+
あと同じ403でもheadersを設定した場合と設定しなかった場合とで
微妙にrequests.get後のresponse.textの内容が変わってるので
headersやその他に足りないパラメータがあるのかと思うのですが・・
2020/09/26(土) 01:36:07.54ID:en54jqZM
とりあえずブラウザ使ってる時のリクエストを丸コピする

copy as cURLしてどのヘッダーが必須なのかを
curl使って切り分けしてからコードにすると楽
2020/09/26(土) 02:17:29.76ID:evkbhpg+
>>537
あらためてコピペで設定したらすんなり通りました・・

なんらかのコピペミスだったのか
(あと、403になったあとに接続するとどうやら一定期間
同じipで全ページで接続できなくなる仕様みたいでした、それが関わっていたのかもしれない)
とにかくできました
ありがとうございました
539デフォルトの名無しさん
垢版 |
2020/09/26(土) 11:01:07.02ID:j0h+lLOK
python2.7.3を使っています

python -c "import ssl; print(ssl.OPENSSL_VERSION)
OpenSSL 0.9.8l 5 Nov 2009

新しいバージョンのopensslにするにはどうすればいいですか?
https://github.com/pypa/pip/issues/4704
このページを見つけたのですが手順四番目の./Configureというコマンド?が認識されないです
2020/09/26(土) 11:46:36.51ID:9azqN3P6
Windows98を使ってます。
YouTubeを見るにはどうすればいいですか?
Meにバージョンアップはできません
理由は
>>472
に書いてます
2020/09/26(土) 13:11:34.54
class hoge:
_def __ini__(self):
__pass
__# ここ
_def tes(self):
__pass

def __init__とdef tes(self)の間のインデント(#ここ)って無い方がいいよね?
2020/09/26(土) 14:00:10.58ID:0j6Y03dC
空白文字のみで構成される空行扱いになると思うので、どちらでも良いのでは?
2020/09/26(土) 14:30:58.76
やっぱそうか
削除するよりも放置する(気づかない)ほうが簡単なのでとりあえず放置しとくかな・・
544デフォルトの名無しさん
垢版 |
2020/09/26(土) 14:32:01.89ID:ER2LZL5Z
行末が空白の連続で終わってるのは勝手にトリミングするエディタ使え
2020/09/26(土) 14:36:14.59ID:VAkG2Csn
>>539
端末のOSとバージョン書け
2020/09/26(土) 14:59:49.35ID:tRZs7u7H
きみたちblack使ってないの?
2020/09/26(土) 17:30:22.20ID:gRR2jm5z
>>546
フォーマッターは色々試したけどBlackが一番楽だったな
細かいオプション弄れないってのは目から鱗だったわ

ただデフォルトの1行88文字だけイケてないから、そこだけ変えてるな
99がpep8にも従ってるから理想だと思うけど、個人的には120ぐらいの方が見やすいからそれで設定してる)
2020/09/26(土) 21:25:34.34ID:GBugeZhr
>>540
Windows98 というOS 自体が古すぎる。
サポート切れ

時間の無駄だから、捨てた方がよい

Windows7 でも、もうサポート切れだよ
549539
垢版 |
2020/09/27(日) 20:47:58.24ID:2JLD83qY
>>545

windows10です 
2020/09/28(月) 01:01:50.23ID:eTNt7YMM
csv.readerで、10数桁の数値を読み込むと
指数表記になっちゃうんだけど、どうすればいい?
誰か教えてください・・・
2020/09/28(月) 06:34:33.43ID:JgS2isID
csv.readerは関係ない。表示するときに勝手に指数表示されてるだけ。
print(f"{v:.15f}")
とかして表示方法を指定する
2020/09/28(月) 08:37:01.65ID:nRbCQgPa
>>551
返信ありがとうございます。
読み込みは問題なかったんですね。
処理した後データフレームを作成し、
df.to_csv('c:\\python\\aaa.csv',encoding='utf_8_sig')
で出力すると、情報落ちが発生てしまうのですが
これもデータフレームに書き込む際にフォーマット指定すればいいんでしょうか?
553デフォルトの名無しさん
垢版 |
2020/09/28(月) 12:01:38.28ID:PXJ7xAyj
全部文字列で処理しろ
2020/09/28(月) 12:08:43.44ID:TVWoeOte
すみません、上手く行きました。
ありがとうございます!
555539
垢版 |
2020/09/28(月) 15:35:18.48ID:CHxZqZBW
>>545
失礼しました。バージョンは2004と書いてあります、これでいいでしょうか。
2020/09/28(月) 18:23:16.35
a = False
b = False
のとき、

これと
print(True if not a == True and not b == True else False)
これって一緒の意味ですよね?
print(True if not (a == True and b == True) else False)
557デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:31:41.70ID:zjrobJ8x
if hoge == True: は使うと問題起きるので
if hoge:
で良い
2020/09/28(月) 18:36:32.27ID:5gUs019O
not a == True and not b == True
これは ~A ∩ ~B

not (a == True and b == True)
これは ~(A ∩ B)
であって等価ではない

一番上と等価なのは
not (a == True or b == True)
これは ~(A ∪ B)
2020/09/28(月) 18:37:46.83ID:fmmBl4Wo
ド・モルガンの法則だと、後ろの条件式はandではなくorなのでは? ベン図を描いてみたら?
2020/09/28(月) 18:38:11.01ID:fmmBl4Wo
ごめん、かぶった
2020/09/28(月) 18:54:17.64ID:ZZCh9OIz
>>559
ドモルガンは公理であって法則ではない!
2020/09/28(月) 19:19:12.97ID:fmmBl4Wo
>>561
数学的に厳密な話はわからないや、ごめんね。
2020/09/28(月) 20:03:35.77ID:iFBbxDDj
>>562
そんなに簡単に妥協してはいけない!
2020/09/28(月) 20:10:58.54
>>557
(実際はif hoge == True:は使ってないのでどうでもいいのですが)
使ったとしてif hoge == True:で問題が起きるようなコードなら
if hoge:でも問題がおきるのでは?
そうではなくhogeがTrueとFalseしか取らない場合でも
== Trueすること自体に問題があるということでしょうか?
(つまりhoge=Falseのときでも、hoge==TrueがTrueとなってしまう)

>558,559
ありがとうございます
なるほどあらためて言葉に書き下ろしたり
このような図にするとわかりやすかったです
https://i.imgur.com/Io2rS55.png
>>556の後半は、aとbの重なった部分以外(aとbの一部含む)
になってしまいますね
2020/09/28(月) 20:14:56.86ID:iFBbxDDj
>>564
そのベン図が有効なのは集合の要素が有限、いやせいぜい可算個までの場合ですね
無限集合に対しては無力だと思います
2020/09/28(月) 20:53:04.92ID:ejW4RwcM
TrueとFalseの二値論理なら等価だし、二値じゃないならTrueとの比較は
hoge == True こそが唯一の正しい方法ということになる。
2020/09/28(月) 21:12:11.60
>>566
安価がないのでだれに言っているのかがわからないのですが
(流れからいってそうなのかな、と迷う書き方をされているので・・)
さらに>>556>>557に系譜している返信かどうかもわからないので想像でかきますが
そもそも>>557は566に対しての返信じゃなく
独り言だったということでしょうか・・?
そうではなく関連した返信だった場合は話がズレていると思いますのでスルーしますねすみません

>>565
たしかに
もっと複雑なif文を一行で書こうとすると頭が混乱しそうなので
最初はネストして書いてから整理しようかなとおもいます
2020/09/28(月) 21:12:25.04ID:zMY8S0gJ
>>549 >>555
いいけど

そのConfigureってやつはLinux系用の命令だから
そのままでは動くはずがないぞっと
569539
垢版 |
2020/09/28(月) 22:25:15.47ID:CHxZqZBW
>>568
そうですか。それではwindows用のpythonのopenssl更新法を教えてください。
2020/09/28(月) 22:35:45.51ID:5K6KOiz6
>>566
2 は True だけど True と等価ではないよね。
2020/09/28(月) 23:54:27.84ID:KQK2imSo
>>566は、排中律が妥当しない三値論理等の場合(その意味で直接的にはPytnonと関係しない場合)を想定した議論かなと思ったが、その場合、if hogeという書き方ができるかどうかは、ifの構文に依存するのでは?
仮に、(Falseの場合に対応する)elseとパラレルなキーワードがifに付け加わるとすれば、三値論理等の場合でもif hogeという書き方はできそうな気もするが……。

>>570は、TruthとTruthyな値を区別するか否かという==演算子の意味づけの話だよね。
2020/09/29(火) 00:10:19.89ID:MtZ1Pd/Y
Truthyならif hoge:
普通は使わないが Trueであることを条件にしたければ if hoge is True:
if hoge == True: は__eq__の定義次第で変化する
2020/09/29(火) 00:42:41.01ID:Iz7+ZlTk
>>539
4月20日、「Python 2.7.18」をリリースした。
「Python 2」シリーズは、本バージョンが最終。すべての開発は終了

Python 2.7.18 を使えないの?
もう、2系もサポート切れだけど

これに変えても、OpenSSL のバージョンが上がるかどうかは、知らないけど
2020/09/29(火) 06:47:48.07ID:umftUFCX
>>569
573がなんか書いてくれてるからそれ嫁
2020/09/29(火) 11:19:47.74ID:UZS7qkIf
PythonとRubyのバージョン2はもう捨てていいの?
2020/09/29(火) 12:37:01.77ID:nGoip8g3
>>565
プログラム板で扱う、しかも条件式の中での集合論理なのだから可算個の論理演算でなんの問題もない。板違い
577デフォルトの名無しさん
垢版 |
2020/09/29(火) 13:10:07.67ID:pVIW4ypp
>>575
メンテなら止むを得ず2使う
ライブラリやモジュールが2系しかなければ使う
それ以外の新規なら3
2020/09/29(火) 16:31:45.51ID:JH9UPQiv
>>575
1.8はもう捨てていいのではないかと思われ
1.9はR*b*Motion(iOS/macOS環境)があるから、完全には捨てきれない
いずれにしても、ライブラリやフレームワークといった移行性に問題が
無ければ、確実に性能向上が図られている2.xへ移行するのがベスト

もちろん性能、何それ美味しいの?って人は1.8.7を使い続けてもいい
特に日常的なテキスト処理に標準ライブラリだけで楽しんでいる人であれば、
後方互換性は維持されているから1.8から2.xまでお好きなように味見すればいい
579デフォルトの名無しさん
垢版 |
2020/09/29(火) 18:55:37.73ID:85pY7Xlb
>>572
>普通は使わないが Trueであることを条件にしたければ if hoge is True:
この辺は動的言語特有の落とし穴があるから、安易に「使わない」とは言わない。
2020/09/29(火) 19:56:29.07ID:XIO1sidm
ブラウザからだと普通に繋がるのに
それと同じプロキシ、同じヘッダ使っても
pythonのrequestsからだとCloudflareのキャプチャに飛ばされる
何かまだ設定しないといけないのだろうか?
どちらにせよCloudflareに接続後に取得しているとみられるPHPSESSID周りが怪しいと思ってるんだけど
2020/09/29(火) 20:07:37.85ID:XIO1sidm
別の串にしたら普通に繋がったわ…
お騒がせしました
582539
垢版 |
2020/09/29(火) 23:44:43.44ID:5dIuqAsn
皆さんありがとうございます。
結局anaconda使うことにしました。(pipがインストールできなかったので)
サイズが大きくまた機械学習はやらないのでほとんどが無駄ですが
容量はありますしやりたい作業が終わったらたぶんさくっとアンスコするので無問題です
質問は二つです
・使いたいソフトがpython2.7.3までのバージョンを指定してくるのですが
2.7.3で動いて2.7.4以降で不具合が出るソフトがありうるでしょうか。
・Traceback (most recent call last):
File "C:\Users\ユーザー名\Anaconda2\lib\site-packages\enchant\_enchant.py", line 143, in <module>
raise ImportError(msg)
このエラーの直し方を教えてください。windows10バージョン2004です。
583573
垢版 |
2020/09/30(水) 00:02:00.02ID:/dbaz1tV
Python 2.7.3 と、2.7.18 は、パッチバージョンが異なるだけだから、基本的には同じでしょ。
ちょっとした修正

だから、
>>573
で、最新版にすれば? と言った
2020/09/30(水) 00:32:55.00ID:lNaSi7NF
なんのソフトを使いたいのか書いたほうが早そう
2020/09/30(水) 00:32:55.14ID:lNaSi7NF
なんのソフトを使いたいのか書いたほうが早そう
2020/09/30(水) 00:32:55.43ID:lNaSi7NF
なんのソフトを使いたいのか書いたほうが早そう
2020/09/30(水) 02:48:12.17ID:/dbaz1tV
5ch の運営は、ダブルクリック対策も知らない馬鹿

ちょっとした連続クリックで、2回書き込まれてしまう
2020/09/30(水) 08:49:24.91ID:6w0L7884
同一内容文のマルチポストチェックはされてるはずなのになんでなんだろうな
2020/09/30(水) 09:03:41.17ID:H+Yt3Vua
よく見ると細部が違うからな
2020/09/30(水) 09:22:33.27ID:vpReY8+a
この前LinuxコマンドかSQL書いたら規制されたぞ
591デフォルトの名無しさん
垢版 |
2020/09/30(水) 12:57:00.51ID:M5cvcI7i
WebApp & APIになってるからじゃね?
昔ながらのhtmlのsubmitならダブルクリックで2重になるってことはないでしょ。
592デフォルトの名無しさん
垢版 |
2020/09/30(水) 13:04:30.38ID:hGfyWrju
csvファイルを読み込んでも、中身がnanになってしまいます。解決方法をおしえてください
2020/09/30(水) 13:11:11.30ID:gnuIUjLl
せめて読み込みに使ったソースと環境ぐらい書けよ。
594デフォルトの名無しさん
垢版 |
2020/09/30(水) 13:32:41.28ID:sYKFg//m
そもそもマルチ

>>590-591
最近可笑しいよね
2020/09/30(水) 13:39:02.54ID:NNWpaWfq
>>592
何!なんだって?!
2020/09/30(水) 13:52:52.17ID:/dbaz1tV
たぶん、数値として読み込んでいるけど、数値と解釈できないから
597デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:05:31.41ID:TOyie83v
まず環境はメモ帳にソースコードを書いてそれをコマンドプロンプトでじっこうしています
コードは以下の通りです
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
from numpy import genfromtxt
from scipy.signal import argrelmax

my_data = genfromtxt('data1.csv')
print(my_data)
598デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:06:42.34ID:TOyie83v
csvファイルはエクセルで
1 1
2 2
3 3

というものを作りました
599デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:08:09.43ID:TOyie83v
これを実行すると
[nan][nan][nan]
というものが出てきます
nanをきちんとした数字にする方法を教えてください
600デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:22:47.25ID:AwRjzN5n
メモ帳で
1 1
2 2
3 3

を作ってください
csvじゃないけどなw
601デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:28:31.68ID:Mr1TlNE6
>>600
やってみます
そのあとはどうすればいいのでしょう?
602デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:43:23.77ID:TOyie83v
>>600
メモ帳ので実行したらうまくいきました.ありがとうございました。
2020/09/30(水) 15:02:51.29ID:FrjuMri7
Comma Separated Value
2020/09/30(水) 15:04:23.70ID:bIuho2ju
while True:
____time.sleep(10)
____動かしたいコード

として、10秒間隔で動くものを作りたいと思っています。
しかし、実際に動かしてみて、datetime.now()で取得した時間を同時に出力させると、10秒キッチリには動いてくれません。

具体的には、10.2秒ぐらいに1度の頻度になっており、ズレが段々と累積してしまいます。
この誤差を出来る限り少なくするためにはどうすればよいのでしょうか。
2020/09/30(水) 15:11:04.66ID:/J4p2JyL
>>604
次に動かしたいタイミングを絶対時刻で記憶しておいて、現在時刻との差分だけスリープするようにする
2020/09/30(水) 15:20:03.10ID:ETA0BVhQ
>>605
さすが!
2020/09/30(水) 16:03:11.11ID:bIuho2ju
>>605
ありがとうございます。
なんとか目的のものが作れそうです。
608デフォルトの名無しさん
垢版 |
2020/09/30(水) 16:56:19.17ID:gnuIUjLl
macでadministrator以外のユーザーに
python環境構築するにはどうしたら良いのでしょうか?
administratorユーザー環境に入れてあるのを使用できたりしますか?
609デフォルトの名無しさん
垢版 |
2020/09/30(水) 16:59:13.71ID:sYKFg//m
>macでadministrator以外

kwsk
610デフォルトの名無しさん
垢版 |
2020/09/30(水) 17:04:34.68ID:gnuIUjLl
>>609
1台のMacに複数ユーザーを作った場合に、
administrator権限を持たないユーザーにpython環境構築したいのですが。
試しhomebrewをインストールしようとしましたが、
sudoがどうこう言うのでインストールできません。
611デフォルトの名無しさん
垢版 |
2020/09/30(水) 18:01:06.03ID:1rfXhMNG
バージョンを特に気にしないのなら、システムのをそのまま使えばいいんじゃないの?
普通にやれば(sudoしなければ)、仮想環境は個人の領域に作られるわけで。
612デフォルトの名無しさん
垢版 |
2020/09/30(水) 18:04:52.57ID:gnuIUjLl
>>610
3.7以上を入れたいのです。
自分のところは問題無いんですが、職場の他のユーザは管理者権限ではないので。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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