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

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2018/05/17(木) 11:09:14.54ID:WeqM6vIc
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
2018/08/10(金) 21:43:18.43ID:34RtrpNP
カスなの?!
872デフォルトの名無しさん
垢版 |
2018/08/10(金) 23:52:49.75ID:C+TRQRnb
みんなMac使ってるのかと思ってたがそうでもないのか
2018/08/11(土) 00:01:06.20ID:OMTaDWyJ
mac売ってxpsにubuntu入れて使ってるよ
macはproとimac5k持ってたがタッチバーのアホらしさで辞めた
2018/08/11(土) 00:01:38.69ID:1ysfrgKY
mbp13ね
875デフォルトの名無しさん
垢版 |
2018/08/11(土) 06:00:30.89ID:50VGhS2e
一応Mac miniとMacBook Air持ってるけどOSはWindows入れて使ってる
2018/08/11(土) 10:26:51.42ID:mQ+IQIIh
>>873
どんな具合?
2018/08/12(日) 01:51:42.97ID:Yh1X0KNC
おれMacしかないや、特に問題もない
2018/08/13(月) 08:05:48.08ID:wDtJ4V0P
スマホ3台*android

ネット用
ユーチューブ
qpython  [MacLab. USB Type C] & TK-FDM078MBK

PC辞めても問題無かった。
2018/08/13(月) 14:56:36.22ID:g1OqHhq/
内包表記ってよく使われていますか?
2018/08/13(月) 15:27:40.48ID:Bmq80Bk3
「よく」の基準がよく分かりませんが、一般的に使われていますよ
pythonの標準ライブラリのソースなどを読んでみると分かると思います
2018/08/13(月) 15:53:50.97ID:EM5FHKXS
ジャップモンキーの感覚に合わないから日本国内ではそれほど使われてない
2018/08/13(月) 16:00:05.71ID:PFh1twe3
pythonicなコードを書くには必須でしょうね
内包表記は
2018/08/13(月) 16:08:42.48ID:oKEtjGvW
内包表記はperlみたいで気持ち悪いって言われたりしないんだろうか
2018/08/13(月) 16:09:51.49ID:EM5FHKXS
言うほどpythonicか?
内包表記はHaskellのそれを猿真似しただけのもので、むしろPythonの中で特にエイリアン感のある機能の一つだろ
断言するが、もしPythonに内包表記が無くて、こういう表記をPythonに取り入れてくれと俺がこのスレで内包表記を提案したら、
間違いなく>>881はそんなのpythonicじゃないと言って俺を叩く
885884
垢版 |
2018/08/13(月) 16:11:27.67ID:EM5FHKXS
訂正
>>882
886デフォルトの名無しさん
垢版 |
2018/08/13(月) 16:17:45.32ID:obMX332h
式と文を区別してるpythonでは内包表記が無いと話にならない
2018/08/13(月) 19:02:48.56ID:CO37JXVI
Python始めて一週間、まだエディタが定まらない
先人達ぱいちゃーむよりオススメありますか??
2018/08/13(月) 19:29:44.79ID:ErpBjTRI
>>887
OSくらい書けや
じゃないならviでも使っとけ
2018/08/13(月) 20:31:45.52ID:PFh1twe3
>>884
いや叩かないしw

zen of pythonにもBeautiful is better than ugly.ってかいてあるし
わざわざ空のリストにappendしていくのダルくないかい?
2018/08/13(月) 20:47:50.72ID:zWTtmQ+y
そういうのは適材適所じゃないのかなぁ。
プログラムの規模にもよるんだろうけど、
可読性を犠牲にしてまで無理に内包表記を使うことはしないかな。
数行に渡ると本当にわかりにくくなることあるし。
2018/08/13(月) 20:53:04.86ID:1UXzUR0b
高階関数のチェーンも内包表記もどっちもあった方がいいね
それぞれにそれを使った方が自然って場面がある
内包表記があることよりも高階関数のチェーンが無いことの方が片手落ちな感じがして気持ち悪い
2018/08/13(月) 22:08:44.86ID:/4+xFIUA
内包表記は簡単な条件なら見やすい
俺の場合複雑になるに従って
内包表記→ループ文→内部関数→関数→クラス
って書き換えて行くことが多いかな
2018/08/13(月) 22:21:27.69ID:CO37JXVI
>>888
スイマセンWindows10です( ´・ω・)
2018/08/13(月) 23:57:07.14ID:Z4Xs8VUg
>>893
特に拘りがないならvscodeが鉄板でしょ
今の勢いならpycharmがvscodeに抜かれるのはもはや時間の問題だぞ
895デフォルトの名無しさん
垢版 |
2018/08/14(火) 01:48:17.74ID:4c27dQq9
pythonでデータを切り出す練習がしたいのですが、なにか良い演習付き解説書や問題集ってありませんか?
2018/08/14(火) 06:14:59.40ID:FBgVldM1
雑多な情報の中からデータとなる部分を切り出したいのか?
データセットの中から有意な情報・特徴を切り出したいのか?
897デフォルトの名無しさん
垢版 |
2018/08/14(火) 07:06:04.78ID:Lx5Sc8sY
VSじゃなくVSCodeの意味は?
898デフォルトの名無しさん
垢版 |
2018/08/14(火) 07:12:05.18ID:U0KblFiG
>>890
数行で内包表記はやらんだろう。
2018/08/14(火) 08:34:37.20ID:yY9bIOZS
>>894
ありがたまきん
それでやってみるわ!
2018/08/14(火) 08:52:01.12ID:JO9op+xq
>>897
MSの戦略的にはどう考えてもPythonはVSCodeへ寄せていくでしょ
将来性がない
901デフォルトの名無しさん
垢版 |
2018/08/14(火) 10:09:34.54ID:UwXfpacN
>>890
内包表記で可読性が落ちるとは思わない
2018/08/14(火) 10:18:55.00ID:iz4synhd
sublime text
903デフォルトの名無しさん
垢版 |
2018/08/14(火) 10:19:48.29ID:NuPuEx9j
>>900
VSCodeって使ったことないけどVSのエディタ部分って訳ではないの?
2018/08/14(火) 10:36:03.99ID:ZqT1A3CO
Linuxやmacでも動くようにした別設計だよ
キーボードマッピングとかは合わせてるけど
2018/08/14(火) 11:11:21.19ID:tHOrBirQ
vscodeはざっくり言うと色々拡張できるようにしたエディタにデバッグ機能とかgit連携が標準で付いたもの
2018/08/14(火) 12:10:59.11ID:6tH5K7xr
>>902
金払ってしまって他へ乗り換えづらいのはわかるけど、もはや全く存在価値のないエディタだよね
およそ全ての面でVSCodeに完敗し、仮に無料にでももう誰も使わん
Sublimeの作者にとってはたまったもんじゃないだろうな
907デフォルトの名無しさん
垢版 |
2018/08/14(火) 12:19:11.71ID:Lx5Sc8sY
>>904
そうなのか
VS無料だったからそっち入れてCodeは使ってなかったわ
908デフォルトの名無しさん
垢版 |
2018/08/14(火) 12:31:02.91ID:hKOoO6Fq
秀丸に金払ったけど満足しておるぞ
2018/08/14(火) 12:40:24.07ID:6tH5K7xr
秀丸くらい軽くてベーシックなエディタなら、メインが他にあってもちょっとしたメモ帳代わりとしての使い途はあるよね
Sublimeは使い分けるには中途半端だわ
2018/08/14(火) 13:21:52.00ID:1OikLRK0
>>908
あの作者はほんと太っ腹だよな
911遊園地
垢版 |
2018/08/14(火) 17:34:54.68ID:fUckjYfu
xed
Geany

なぜ、忘れ去られるのか?
2018/08/14(火) 18:45:34.72ID:3OkmF3Ne
Sublime使ってる奴まだおるんか…
913デフォルトの名無しさん
垢版 |
2018/08/15(水) 00:52:53.49ID:nidP+1BF
農学部卒の初心者ですが全くの初心者から学べるサイト教えてもらえませんか?
2018/08/15(水) 00:58:29.59ID:TUTBGx6J
paizaラーニング
915デフォルトの名無しさん
垢版 |
2018/08/15(水) 01:02:59.34ID:nidP+1BF
できれば無料で
2018/08/15(水) 01:30:13.35ID:TUTBGx6J
python講座無料だぞ
917遊園地
垢版 |
2018/08/15(水) 02:13:45.87ID:H63Luids
偶にSublime使ってる
アイツは長文じゃないと役に立たない
2018/08/15(水) 06:37:02.98ID:buain2zE
これ
https://i.imgur.com/a2PYycg.jpg
って、もう
https://i.imgur.com/utWvkHM.jpg
でてるじゃん!
919デフォルトの名無しさん
垢版 |
2018/08/15(水) 07:56:21.54ID:+LAc8jW9
>>913
python-izm
920522
垢版 |
2018/08/15(水) 17:44:10.84ID:EAcVsQ5O
>>918
初めてのpython買ってみたんだけど、色々詳しく書いてあり過ぎてやや難し目に感じた…。
VBAはある程度さわれるから、何となくイメージは出来るのだけれども。
2018/08/15(水) 18:14:41.57ID:7DSwjy9L
複数のHTTPリクエストを並行して行う方法を教えてください。(できれば標準ライブラリのみで)
Python 3.6.5

<やりたいこと>
某サイトから動画をダウンロードするスクリプトを書いています。
「動画をダウンロード中は、一定間隔で特定URLにリクエストを発行(ハートビート)しないと、動画ストリームがサーバー側から閉じられてしまう」
というサイト仕様のため、下記の2処理を並行して実行したいです。

・処理1:動画をダウンロードしてファイルに書き込む
・処理2:1分おきに特定のURLにリクエストを発行する(ハートビート)

<やってみたこと>
標準ライブラリのasyncioとurllib.request.urlopenを使って非同期処理。
→動画のダウンロード(処理1)が完了してからハートビート(処理2)が実行される、という結果になり、期待したとおりにならず。

async def exec_download():
 await self._downlaod()
async def downlaod():
# 動画をダウンロード(時間がかかる)
 res = urlopen('http://www.unko.com/video.mp4')
 shutil.copyfileobj(res, fout)
async def heartbeat():
# 1分おきにハートビート
 await asyncio.sleep(60)
 res = urlopen('http://www.unko.com/heartbeat')
 await heartbeat()

loop = asyncio.get_event_loop()
coroutines = [heartbeat(), exec_download()]
loop.run_until_complete(asyncio.wait(coroutines))

以上、よろしくお願いします。
2018/08/15(水) 18:17:48.76ID:JTlr32HG
うんち
2018/08/15(水) 18:21:32.73ID:bkK5nIf1
>>921
そんなもん全く別個にやればいいだろ
一般に、スクリプトをうまく使うコツは、一つのもので色々なことをやろうとしないこと
まあその発想でいくとPythonすら要らないけどな
curlとシェルスクリプトで十分
2018/08/15(水) 18:51:36.06ID:uSjYsFnm
VScodeインストールしたのに、何か動かねえ!
右上のウィンドウで命令(print w)書いても、うんともすんとも
オール電化の康一を思い出したわ 吉良戦の時のさー
2018/08/15(水) 19:01:49.33ID:W/Izi4Yd
その1レスだけでプログラミング向いてないのがわかる
926遊園地 ◆ExGQrDul2E
垢版 |
2018/08/15(水) 19:46:50.11ID:H63Luids
VScodeでpythonデバッグしようとすると

Java runtime could not be located
The .NET CLI tools cannot be located. .NET Core debugging will not be enabled. Make sure .NET CLI tools are installed and are on the path.
Javaランタイムを見つけることができませんでした
.NET CLIツールを見つけることができません。 .NETコアのデバッグは有効になりません。 .NET CLIツールがインストールされ、パス上にあることを確認します。
諦めた
927遊園地
垢版 |
2018/08/15(水) 19:50:02.83ID:H63Luids
デバッグなしで起動すると動くけど、
それなら、他のと変わらないなーー

ぐらい
2018/08/15(水) 19:50:03.49ID:Y7oow45s
>>920
プログラムの本とか買ったことないな。
ネットの方が情報あるし。
コードをとにかく色々書いてみて動作させながら言語の特徴やクセを掴んでいったほうが習得は早いと思うよ。

むしろ本はある程度書けるようになってから、もっと楽に書ける方法があったのかっていう意味で気づくためにみてる、立ち読みでだけど。
2018/08/15(水) 19:53:42.96ID:x0iBTGoo
既存のGUIウインドウ上にテキストを表示したいのですが何かいい方法ありますでしょうか
2018/08/15(水) 20:15:46.32ID:pSIls4/k
>>929
Pythonなんかつかわないで
そこらのロシアなんかに転がってるあやしげな汎用改造ツール使う
2018/08/15(水) 21:32:12.73ID:EAcVsQ5O
>>928
なるほど…そうやって本は活用するものなのか〜。
ありがとう!
932デフォルトの名無しさん
垢版 |
2018/08/15(水) 21:57:28.79ID:+OObTSrG
>>931
人による
俺は逆に最初は本読みながら作って、ある程度慣れたら疑問点をネットで調べてる
933デフォルトの名無しさん
垢版 |
2018/08/15(水) 22:11:34.29ID:yyAkWswg
>>918>>920
この本は入門書じゃないぞ
2018/08/15(水) 22:12:05.88ID:e3I8nXvG
>>928
これはプログラミング自体の初心者は真似したらアカンよ

こういうこと言うのは高確率で他言語経験者だから
2018/08/15(水) 23:22:27.80ID:EAcVsQ5O
>>932
>>933
>>934

VBAはまぁまぁ使いこなせるんだけど、入門Pythonの本は難しくて…。

・確かな力が身に付くPython「超」入門
・はじめての簡単PythonAIプログラミング

この2冊を買って勉強中。
ExcelVBAと上手くリンクしながら動いてくれればこの上ないのだけれども…。

(上司からは「アプリ開発できるようなってください」と言われてるが、まだまだ先の話になりそう)
936デフォルトの名無しさん
垢版 |
2018/08/15(水) 23:57:27.18ID:q5gHkF1g
>>918
なんで、蛇じゃなくてネズミなんだろう
2018/08/16(木) 00:01:20.35ID:IiF9TGTT
>>926
「vscode the .net cli tools cannot be located」で検索!

>>935
「みんなのPython 第4版、2017」が定番
2018/08/16(木) 00:21:28.03ID:x3zDbbaW
>>937
ありがとう、調べてみる!
2018/08/16(木) 00:27:09.51ID:tQF1Ua+o
俺、初めてのPythonめちゃ助けられた
というのも初プログラミング=Pythonだったから
コード真似て、こう動くんだというのはわかっても
用語とか解説がチンプンカンプンな事が多くて辞書的に使ってた
確かにクドイね。でも今なら他にいい本出てそうじゃん
2018/08/16(木) 01:11:31.91ID:57YYyuh5
型宣言とか戻り値の型とか書かないのすごく気持ち悪いね

まあ慣れるんだろうけど
2018/08/16(木) 01:18:20.94ID:9HlOn3Gq
>>940
書いてもいいのよ
type hinting
2018/08/16(木) 01:25:09.30ID:OpTecYpP
書いた方がvscodeでIntellisenseが効くから書いてる。
2018/08/16(木) 04:34:22.30ID:103J48LD
変数の中に数字が入っています。
具体的にどんな値が入っているか自分では分からない状態で、もしその値がマイナスの値だった場合、
その変数の値を他の値(例えば60)に変更するにはどう書いたらいいんでしょうか?
2018/08/16(木) 04:42:47.23ID:103J48LD
>>943
追記です
sleep関数を使って整数内のint(秒)間スリープさせてループです動かすスクリプトなんですが、たまに整数内の数字がマイナスになってしまった場合にエラーで止まってしまうので、それを防ぎたいと思いました
2018/08/16(木) 04:50:35.45ID:mpgAaxLb
a = 10
if a < 0:
a = 60
print(a)

a = -10
if a < 0:
a = 60
print(a)
2018/08/16(木) 05:02:53.82ID:103J48LD
>>945
どうもありがとうございました
947デフォルトの名無しさん
垢版 |
2018/08/16(木) 10:01:01.41ID:LoNM+spa
>>936
蛇の食料
948デフォルトの名無しさん
垢版 |
2018/08/16(木) 11:12:16.71ID:wiNukf+g
>>925
+1
2018/08/16(木) 13:27:34.52ID:uYNhfvy4
>>943

a=60 if a<0 else a
2018/08/16(木) 14:24:14.31ID:AFSiOhT6
今paizaラーニングのチャプター2 #3
やってるんだがアホすぎて不等号の意味が全くわからん
2018/08/16(木) 15:07:37.71ID:SGYMD3jf
それプログラミングじゃなくて中学数学が分からないのでは?
2018/08/16(木) 15:51:55.16ID:z5KyUW64
特定の文字列をUTCの時間だと指定してUnix時間に変換する方法を教えて欲しいです。
current_dataのStartTimeには2018-08-16T06:05:37と書かれてあります。
https://pastebin.com/K9qEC75T

これだと9時間ずれてしまいます。
953デフォルトの名無しさん
垢版 |
2018/08/16(木) 16:00:32.85ID:wiNukf+g
strptime
mktime
954デフォルトの名無しさん
垢版 |
2018/08/16(木) 16:06:07.11ID:wiNukf+g
pytz
2018/08/16(木) 17:43:51.77ID:z5KyUW64
>>953
>>954
詳しくお願いできますか?
2018/08/16(木) 18:11:17.83ID:Lbm+OgmQ
>>952
time.timezoneかdatetime.datetime
2018/08/16(木) 18:20:15.73ID:z5KyUW64
ちょっとわかりそうです
2018/08/16(木) 18:32:07.07ID:z5KyUW64
これでできました

baseStartTime = '2018-08-16T08:02:45+0000'
baseTimeFormat = '%Y-%m-%dT%H:%M:%S%z'
utc = datetime.strptime(baseStartTime, baseTimeFormat)
unix = utc.timestamp()

>>956
調べてみます
959デフォルトの名無しさん
垢版 |
2018/08/16(木) 21:32:10.60ID:VSd23G4R
https://ideone.com/rGkQxM

pythonはCバインディングの関数よんでるだけだからな
調べてやったぞ

baseStartTimeがUTCならNo1.でいける

 setenv("TZ", "UTC", 1); ← コレで切り替える
 strptime(sz_time, sz_fmt, &t_tm);
 return mktime(&t_tm);

baseStartTimeがJST(UTC+09:00)ならNo2.でいける

 setenv("TZ", "Asia/Tokyo", 1); ← コレで切り替える
 strptime(sz_time, sz_fmt, &t_tm);
 return mktime(&t_tm);
2018/08/16(木) 22:13:23.11ID:z5KyUW64
>>959
これはCですか?
961デフォルトの名無しさん
垢版 |
2018/08/16(木) 22:28:06.44ID:VSd23G4R
そう

しかしコタエとしては
オマエが作ったプログラムを起動する前に
適切な環境変数設定すれば
期待通りの結果になると考えられる

起動するまえにシェルで
TZ="UTC"
※ baseStartTimeがUTCの場合
もしくは
TZ="Asia/Tokyo"
※ baseStartTimeがJSTの場合

とすればいいハズ
962デフォルトの名無しさん
垢版 |
2018/08/17(金) 11:42:19.78ID:23Jvz4gX
GAEとか変なTZの鯖もある
963デフォルトの名無しさん
垢版 |
2018/08/17(金) 13:46:36.32ID:GPgJleJz
csvに入力してある内容からランダムで5W1Hゲームの答えを表示するコードをお願いします
2018/08/17(金) 13:56:50.54ID:XabtsNLS
宿題は宿題スレで
965デフォルトの名無しさん
垢版 |
2018/08/17(金) 14:32:50.18ID:GPgJleJz
宿題ではないです
作り方がわからないので教えてください
2018/08/17(金) 15:22:13.09ID:ZZpHYasb
matplotlibで散布図を作りたいのですがプロットする点は点ではなく外部ファイルの画像データを使いたいです
これは可能でしょうか?
2018/08/17(金) 15:32:15.30ID:XabtsNLS
>>966
可能らしいよ
https://stackoverflow.com/questions/22566284/matplotlib-how-to-plot-images-instead-of-points
968デフォルトの名無しさん
垢版 |
2018/08/18(土) 01:01:12.82ID:K3y6E3T8
>>963-965
Ruby では、こういう感じ。
Python のCSV module も見れば?

# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
input_file = "input.csv"

CSV.foreach(input_file, col_sep: ":") do |row|
puts row[1] # 列[1]
end
2018/08/18(土) 03:00:30.68ID:xt3abbWh
with open(“file”, “w”) as csv_file:
# csv_file.readline()とかsplitとかご自由に。
2018/08/21(火) 18:18:57.90ID:4zizh11G
秒を時:分:秒に変換したいです。
その時、時が00なら分:秒だけにしたいです。
以下のように書いたんですが、ifが動いてくれないです。
どう改善したらよいですか?

duration = "{0.hours:02}:{0.minutes:02}:{0.seconds:02}".format(relativedelta(seconds=baseDuration)) # 曲の長さ (時:分:秒に変換)
if str(duration)[0:1] == '00':
duration = str(duration[3:7])
2018/08/21(火) 18:25:48.79ID:4zizh11G
>>970
自己レス

if str(duration)[0:2] == '00':
duration = str(duration[3:8])

これで動いてくれました。
最初の二文字の指定だから[0:1]、[3:7]だと思うんですが、なぜ[0:2]、[3:8]としないといけないんですか?
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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