くだすれPython(超初心者用) その42【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/18(月) 13:42:55.36ID:+MPRGO7m
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

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

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

前スレ
くだすれPython(超初心者用) その41【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1549282930/


◆PythonのHome Page
http://www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
2019/03/31(日) 12:52:32.27ID:pKsv1rxM
その辺はpythonをアンインストールすれば消えるはずだが
site-packagesの下に入ってる奴だろ
2019/03/31(日) 12:54:51.98ID:pKsv1rxM
Anacondaを入れようとしているのにsixを捨ててバージョン差異云々も意味不明だ
何を目指してるんだか分からん

Anacondaと公式のPython3を同時にインストールしておきたいのか?
それこそ10年早いからやめとけ
どっちかにしろ
2019/03/31(日) 13:38:01.10ID:lDkEr+Aw
>>429 何を恐れてるのか知らないが、OS は何?
多分純正Python をインストールしたフォルダとanaconda がインストールされたフォルダは違うと思うけど?
だったら何も混在することはない。
PATH さえ混在しないようにしておけば、純正Pythonが残ってても何の問題もない。 uninstall の必要すらない。
2019/03/31(日) 16:01:31.38ID:iz1vdcLS
Pythonのインストールもといプログラミング言語のインストールはPCのシステムの根幹に影響するものなの?
その辺のフリーソフトをインストールするのとはイメージが違う?
ZIPを解凍して実行ファイルをクリックしたらプログラミングのウィンドウが出て作業開始とはいかないよね
調べれば調べるほど不安になる
2019/03/31(日) 16:04:23.82ID:SQp6xgxy
>>433
その辺のフリーソフトでも
インストーラ(exe)使うタイプなんて普通にぼろぼろあるで?

>PCのシステムの根幹に影響するものなの?
Macとかみたいに、システムに予めPython入ってるOSだと、場合によってはね。
2019/03/31(日) 16:05:46.96ID:SQp6xgxy
そんなわけなので
ID:iz1vdcLS は
これからPythonしようとしているパソコンなりなんなりのOSの種類とバージョンをまずかけ
2019/03/31(日) 17:00:45.05ID:iz1vdcLS
>>435
Windows7 64ビットです
2019/03/31(日) 17:08:35.73ID:SQp6xgxy
>>436
なら大丈夫だ、
Python3のインストーラをダウソしてきて、
普通のフリーソフトみたいにインストールして、
使って、
挫折したらアンインストールおk
438デフォルトの名無しさん
垢版 |
2019/03/31(日) 17:12:58.90ID:bSAabfLN
>>408
Visual Studioとかと比べると環境汚さないよ
デフォルト設定だとユーザー配下にインストールされるから他に影響しないし

ただWindows版はライブラリのインストールでハマること多いから
Anacondaの方がオススメかも
2019/03/31(日) 17:15:15.80ID:SQp6xgxy
WindowsでAnacondaで何かさらに入れるのはマゾかよほど必要かだろ
Anacondaにするかどうかは、何がしてみたいかによる
2019/03/31(日) 17:49:14.21ID:iz1vdcLS
>>437
ありがとうございます
これでようやく超初心者未満から超初心者へ一歩前進出来そうです
>>438
環境汚さないと聞いて安心しました
ありがとう、ライブラリのインストール(pip?)は一先ず自己解決を目指して調べてみます
>>409>>410>>420もありがとう
2019/03/31(日) 17:58:58.76ID:SQp6xgxy
>>440
Python3系ならpipは最初からついてくるよ
インストール時に「PATHを通す」オプション(※英語)にチェックいれとけば
コマンドプロンプトから簡単にpipし放題
2019/03/31(日) 18:07:17.87ID:v2pBMWRF
>>430-432
お陰様で、anacondaをインストールしてから
condaのパス及びpythonのパスも通して、無事にVS codeから実行したり
qtから実行するのも出来るようになりました

ありがとうございました
2019/03/31(日) 18:19:06.41ID:ZymSfx3l
>>411
死ね
2019/03/31(日) 18:20:35.35ID:v2pBMWRF
ところで自分が使っている別のPCにはJAVAが入っていて
そこではJython形式のPythonスクリプトが動く某画像処理アプリも入っています

このPCにanacondaなんて絶対に入れない方が良いですよね?
2019/03/31(日) 18:40:00.52ID:s7MuzANU
なにを根拠にそう思ってるのかわからん
2019/03/31(日) 18:40:41.06ID:SQp6xgxy
>>444
Jythonも拡張子がpyだから、AnacondaどころかPython入れるのもぼみょうじゃねーかな
447デフォルトの名無しさん
垢版 |
2019/03/31(日) 18:47:06.40
>>386
ツイでよく見かけるわ
3月はボロい話が多いな  
2019/03/31(日) 19:21:11.30ID:lDkEr+Aw
>>446 そんなもの誰がキックするんだよ。 アプリなんて動かさなければ動くかんよ。
呆れて開いた口が塞がらん。
2019/03/31(日) 19:39:46.52ID:ImccTeMF
>>448
>呆れて開いた口が塞がらん。



20分経過しました
2019/03/31(日) 19:51:01.55ID:SQp6xgxy
誤解の余地がありそうだから...

拡張子が一緒だからJythonと、 Anaconda / Python の共存はめんどくせーとおもうけど、
(たとえばPaintShopProとかAnimator3みたいな)
中身にPython使ってるってだけのexe(アプリ)なら衝突しないのでおk。
2019/03/31(日) 23:10:32.34ID:lDkEr+Aw
>>449 顎が外れた。
2019/03/31(日) 23:18:37.27ID:y6i7x1om
そもそも、何故windowsで環境汚してまで、
python使いたいのかが理解できん。
Linuxでやれば、難しい事考える事なく、
Python扱えるのに。
453411
垢版 |
2019/03/31(日) 23:26:09.75ID:mUt6la4P
例えば「みんなのPython」の前提条件は、
Windows で、今までPython を入れた事がない場合に限り、Anaconda を入れられる!
既に、Python が入っている場合には、出来ません!

この本は初心者用の本だから、環境変数PATH とか、仮想環境とか、
初心者に説明するのは無理なんだよ

Pythonの文法じゃなくて、OSのシステムの話だから、全く違う
454411
垢版 |
2019/03/31(日) 23:26:44.16ID:mUt6la4P
>>411-414
にも書いておいたが、

まず、Windows には、ユーザー環境変数・システム環境変数の違いがあるので、まずこれを調べる

次には、インストールとポータブル版の違いを調べる。
インストールとはシステムが管理しているものだが、ポータブル版はシステム管理外

次に、コマンドが実行ファイルを探す方法(探索パス)を理解する。
端末で、ruby とか、パス無しのコマンド名が、なぜ実行ファイルを探せるのか

コマンドプロンプトで、where ruby と入力すると、そのパスが表示される。
つまり、ruby というコマンド名で、実行ファイルを探し当てている。
C:\Ruby24-x64\bin\ruby.exe

PowerShell を起動して、$env:Path.split(";") と入力して、環境変数PATHを見る。
これは、ユーザー環境変数PATH・システム環境変数PATH が合成された探索パス

この順番が重要!
この順番で、上から順に、コマンド名の実行ファイルが探される!
「コマンド名 + .exe」のファイル名を探す。
ruby なら、ruby.exe

だから、既にPythonをインストールしている人は、後から探索パスに追加しても、
上にある方の実行ファイルが起動されてしまうわけ

こういうOS のシステムを説明するのが、非常に難しいため、
「みんなのPython」では、既にPythonが入っている環境では、
初心者には、Anaconda は使えないとしている
2019/03/31(日) 23:33:29.19ID:ZymSfx3l
>>454
死ね
2019/03/31(日) 23:43:27.48ID:y6i7x1om
>>453
申し訳ない。
パッと見て、Python使う前からトラブっている印象
を受けての発言です。
自分としては、使いたいパッケージをpipでちまちま入れて、理解できる範囲で扱う方が良いと考えている
ので、理解できてませんでした。
457411
垢版 |
2019/03/31(日) 23:44:26.93ID:mUt6la4P
例えば、DB のsqlite3 をダウンロード・解凍して、C:\sqlite3 に置く。
つまりインストールせず、自力で設置する。
これはポータブル版と同じ

そして、ユーザー環境変数PATH に、C:\sqlite3 を追加すると、
端末で、sqlite3 というコマンド名を、パス無しで使えるようになる

コマンドプロンプトで、where sqlite3 と入力すると、その実行ファイルのパスが表示される。
C:\sqlite3\sqlite3.exe

また、PowerShell を起動して、$env:Path.split(";") と入力して、環境変数PATHを見ると、
一番下に、C:\sqlite3 も表示される

これはインストールしていないからアンインストールできないので、
削除する時も、自分で削除しなければならない。
システム管理外のアプリとなる
458デフォルトの名無しさん
垢版 |
2019/03/31(日) 23:46:25.61ID:qnazkb5e
FXの自動売買ツールを無料で配布しています。
http://hbgvf.blog.jp
459411
垢版 |
2019/03/31(日) 23:55:13.22ID:mUt6la4P
ほとんどの会社で、システム環境を変えるのを嫌がるわけは、
コマンドの探索パスの順序が変わるかも知れないから

ユーザー環境変数PATH・システム環境変数PATH の説明が難しいから

また、一番下に追加しても、それよりも上で、そのコマンド名が見つかると、
先に見つかった方の実行ファイルが起動されてしまうため

こういう探索パスの順序を説明した本は、ほとんどない
2019/04/01(月) 00:56:04.30ID:PICzK0N0
>>456 >>453 みたいな奴の言うことを間に受けるなよ。奴はRuby しか知らないくせにPython スレで荒らしまわってるアラシだからな。

全然怖くないからやって見なはれ。 ただし、インストールするときは、みんなで使える環境にインストールする事。
怖がって自分だけとするとかえって面倒なことになる。
インストールする先は自分で指定しない事。
2019/04/01(月) 01:03:39.07ID:i9/3FEgM
ちなみにRubyは今年いっぱいで使われなくなる言語
2019/04/01(月) 01:17:59.76ID:xu4jUkcZ
PythonをZIPでDLしてライブラリもpipではなくGitHubからZIPでDLした場合、Pythonにライブラリをインストールするにはどうしたら良い?
とんでもない遠回りをしてる自覚はあります
2019/04/01(月) 02:17:11.17ID:WwdHkKwz
Pythonでベクター画像を描くことって出来ませんか?
良い方法があったら教えてエロい人
2019/04/01(月) 04:37:42.57ID:lfLraWDr
>>462
そのpythonにpipがついてるならそれ使ってpip install zipすればいい
そうでないならzipを展開してsetup.pyをpythonから実行
2019/04/01(月) 04:39:14.79ID:lfLraWDr
その前にensurepipを実行してpipを使えるようにするべきかもな
https://docs.python.org/ja/3/library/ensurepip.html
2019/04/01(月) 09:08:57.41ID:WwdHkKwz
Pythonのランダムって完全ランダムですか?
完全ランダムの作り方教えてエロい人
2019/04/01(月) 09:19:01.10ID:k5EPZlMW
そーれ
ランダム
ランダム!
2019/04/01(月) 09:20:05.47ID:ymg/4x83
Windows 10・WSL・Ubuntu 16.04 では、

/usr/bin$ file python
python: symbolic link to python2.7

/usr/bin$ file python3
python3: symbolic link to python3.5

pip コマンドが無いけど、どうなってるの?
2019/04/01(月) 09:21:57.20ID:NrMbn99G
>>466
全部疑似ランダム。

コンピューターの「ランダム」は本当にランダムなのか?
https://www.zenken.co.jp/blog/engineer/30255
予測ができない、本物のランダムを作るには、以下の方法があります。

@システムのインタラプト信号を利用した/dev/random
(デバイスドライバなどの情報源から集めた環境ノイズを利用して、真の乱数性を得る)

A従来のコンピューターではなく、量子コンピューターを用いた量子乱数
(量子物理学を用いる)

これらを利用すれば、暗号学的に完全な乱数が作られるので安心して使えます。
2019/04/01(月) 09:26:59.45ID:ktREnJIH
HaswellあたりからCPU内で乱数生成できるようになってないっけ
2019/04/01(月) 09:30:12.80ID:WwdHkKwz
>>469
ありがとうございます。
僕が考えたのは乱数を生成する度にtime関数でシードを与えるという方法なんですが
まだ甘いですか?完全ランダムとは言えませんか?
優秀なハッカーにかかればこの方法で作ったパスワードは破られますかね。。。
2019/04/01(月) 09:52:11.35ID:g0ijP3Ba
>>471
あまいとかどうとかではない
「くだらないこと」を考えてないで469の方法を使え
2019/04/01(月) 09:57:33.06ID:WwdHkKwz
>>472
量子コンピュータなんて個人で使えませんやん

>デバイスドライバなどの情報源から集めた環境ノイズを利用して、真の乱数性を得る
これを簡単に実現する方法ってありますか?
2019/04/01(月) 10:02:46.94ID:WwdHkKwz
マイクとかPCにつなげてそっからノイズとればええのかな?
2019/04/01(月) 10:03:35.98ID:82uuXA8G
>>466
pythonでもCでも多分、疑似乱数。
タネの値からxorなんかを繰り返して乱数を作ってるはず。
完全乱数を手軽に作るのってみんなどうしてるのかね?
俺が8bit PICマイコンで乱数作る実験した時にはダイオード使ってやってみたかな?
FMラジオのホワイトノイズなんかも利用できそう。
ノイズ源→カウンタ→インターフェイス(USARTなど)→Python(pyserialなど)で
マイコン使えばできるかな?

【参考】
ttp://www.hitachihyoron.com/jp/pdf/1972/10/1972_10_09.pdf
2019/04/01(月) 10:10:19.76ID:WwdHkKwz
>>475
ありがとうございます。
マイコンにダイオードっすか!!
知識が必要そうっすね。
2019/04/01(月) 10:20:21.90ID:82uuXA8G
>>476
下らないことだったり、技術的に製品化されてるようなものでも『自分で作ってみよう』というのは結構面白いですよね。

もし、ハード系が苦手なようでしたら、
FMラジオをマイク端子につなげる→ラジオを「ザー」になるようにチューニングする→音声を取り込んでデータ化する
→一定時間に何回録音レベルが閾値を超えたか数える→欲しい乱数の最大値の数+1で割って余りを採用する。
こんなかんじでしょうか?

私はソフトで信号解析プログラムを作るより、ちょっとしたマイコン回路を作るほうが得意なので、オペアンプとPICマイコン
あたりを組み合わせてシリアル通信でパイソン側に読ませちゃいますね。
2019/04/01(月) 10:45:11.53ID:WwdHkKwz
>>477
ありがとうございます。
大変勉強になります。
ハード系は全然知識ないっす。
ラジオとマイクで実験してみたいと思います。
2019/04/01(月) 11:00:33.96ID:82uuXA8G
>>478
リアルタイム性を求めないのであれば一度WAVファイルに録音して解析するのが簡単そうです。
ちょっとぐぐってみましたが、waveモジュールというのがあるみたいです。
【参考】
ttps://algorithm.joho.info/programming/python/wave-plot/

FMラジオのホワイトノイズを録音してこのサンプルソースのdata変数(多分整数のリスト型?)を
値を整数値に足したり割ったり剰余してみて整形して乱数のリストにする でどうでしょうか?

変法で偶数なら0,奇数なら1として二進数化して、8bitづつ取り出すという方法もできそうです。

自分で実験してないので無責任ですみません。
個人的にはつらつらとリアルタイムに乱数を吐き出す方がロマンありそうですが....
2019/04/01(月) 11:11:55.18ID:WwdHkKwz
ありがとうございます。
標準モジュールでできるんですね!!
まずは録音したwavで頑張ってみます。
2019/04/01(月) 11:15:30.23ID:82uuXA8G
追伸です
他にもPyAudioっていうライブラリもあるみたいです。
こっちの方がリアルタイム性が高そうです。
2019/04/01(月) 11:23:15.25ID:WwdHkKwz
>>481
リアルタイムに入力できるライブラリもあるんですね
勉強になります!!
483デフォルトの名無しさん
垢版 |
2019/04/01(月) 14:08:43.84ID:QUlyRw/u
>>463
matplotlib
484デフォルトの名無しさん
垢版 |
2019/04/01(月) 14:59:26.00ID:I7CS/MIX
https://python-graph-gallery.com/370-3d-scatterplot/

上記の様な図で、
重みを視覚化したいです。正方形や長方形の様な形に変更するには
どうしたら良いでしょうか?

教えて下さい
2019/04/01(月) 15:36:57.89ID:fdHJmlDk
>>473
なんかすげえアホやってるけどos.urandomってのがあってさあ
2019/04/01(月) 15:37:47.96ID:fdHJmlDk
いや、わざと回りくどくやってるならいいけど
人生10回くらい必要そうだね
487デフォルトの名無しさん
垢版 |
2019/04/01(月) 15:47:09.49ID:bzrp4n7u
https://www.datacamp.com/community/tutorials/matplotlib-tutorial-python
https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9
2019/04/01(月) 15:55:44.85ID:IS1vKK/H
ウィンドウをアクティブにはできますが最前面にできません。
例えば下のやり方でfirefoxがアクティブになりますが、あらかじめその上にメモ帳を開いておくとメモ帳が手前に表示されたままです。
どうしたら最前面にできますか?
AHKしか使ったことがないので端折らないで説明してもらえるとありがたいです。

import pyautogui
import win32gui
import ctypes
from time import sleep


def activate():
hWnd = win32gui.FindWindow("MozillaWindowClass",None)
print(hWnd)
if hWnd is not 0:
win32gui.BringWindowToTop(hWnd)
sleep(0.5)
win32gui.IsWindowEnabled(hWnd)
sleep(0.5)
win32gui.SetActiveWindow(hWnd)
sleep(0.5)
win32gui.SetForegroundWindow(hWnd)
sleep(0.5)
ctypes.windll.user32.SetForegroundWindow("MozillaWindowClass",None)
sleep(0.5)
ctypes.windll.user32.SetActiveWindow("MozillaWindowClass",None)
sleep(0.5)
pyautogui.hotkey("ctrl","tab") #右のタブに移動(firefoxがアクティブになってるかの確認用)
else:
print("firefoxがないよ")
a=activate()
2019/04/01(月) 15:58:22.33ID:IS1vKK/H
あれ?インデントがなくなったので張りなおしてみます!

import pyautogui
import win32gui
import ctypes
from time import sleep


def activate():
hWnd = win32gui.FindWindow("MozillaWindowClass",None)
print(hWnd)
if hWnd is not 0:
win32gui.BringWindowToTop(hWnd)
sleep(0.5)
win32gui.IsWindowEnabled(hWnd)
sleep(0.5)
win32gui.SetActiveWindow(hWnd)
sleep(0.5)
win32gui.SetForegroundWindow(hWnd)
sleep(0.5)
ctypes.windll.user32.SetForegroundWindow("MozillaWindowClass",None)
sleep(0.5)
ctypes.windll.user32.SetActiveWindow("MozillaWindowClass",None)
sleep(0.5)
pyautogui.hotkey("ctrl","tab") #右のタブに移動(firefoxがアクティブになってるかの確認用)
else:
print("firefoxがないよ")

a=activate()
2019/04/01(月) 15:59:00.32ID:IS1vKK/H
オーマイガー
491デフォルトの名無しさん
垢版 |
2019/04/01(月) 16:17:35.96ID:bzrp4n7u
SetForegroundWindow
SetActiveWindow

この二つは使わない

MoveWindow
492デフォルトの名無しさん
垢版 |
2019/04/01(月) 16:21:01.18ID:bzrp4n7u
ごみん
SetWindowPos
HWND_TOPMOST
2019/04/01(月) 16:43:59.25ID:FCLjxIA3
>>490
投稿する前に>>1くらい読もうぜ
2019/04/01(月) 17:21:36.67ID:8IW2Ec9K
完全なる初心者なのですが、上達の近道としてまずは自分のサイト??を作ってカスタマイズして行くのが手っ取り早いでしょうか
一応、xserverとは契約してありますので、flaskやdjangoなどで始めようかと考えています
2019/04/01(月) 17:33:47.33ID:DUI06/LX
サイトーそいつを寄越せー
2019/04/01(月) 17:41:31.90ID:A39OWd1J
>>494
そもそも何を作りたいのか、なんでpythonを覚えたいのか
webサイト作りたいならphpの方が楽だよ

webサイト覚えつつpython・・・は正直止めたほうが良い。学習コストが高くなるだけ
497488
垢版 |
2019/04/01(月) 17:50:37.46ID:IS1vKK/H
>>492
ありがとうございます。


最初に↓を追加
import win32con

If文の下に↓を追加しました
win32gui.SetWindowPos(hWnd,win32con.HWND_TOPMOST,0,0,0,0,win32con.SWP_NOMOVE | win32con.SWP_NOSIZE)


エラーも出ませんが最前面にもなりません。
どこか間違ってるでしょうか?
498デフォルトの名無しさん
垢版 |
2019/04/01(月) 17:53:15.35ID:Pri2Y0H6
質問するスレが間違ってる
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
2019/04/01(月) 18:56:46.11ID:WwdHkKwz
>>483
ありがとうございます。
matplotlibでSVGとかのベクター画像に書き出しってできるのですか?

>>485
ありがとうございます。
os.urandom
調べて見たらPythonの乱数は標準でこれを使ってて
対応してない場合はtimeを使うと書いてるサイトがありました
Pythonって優秀なんですね!!
2019/04/01(月) 20:22:56.00ID:mO7Iiqmy
なんか根本的に分かって無いんじゃないか?
擬似じゃない、こういうマジモンのデバイスも開発中だよ

原子核崩壊を用いた乱数発生器、IoT時代の必須デバイスに | 日経 xTECH(クロステック)
ttps://tech.nikkeibp.co.jp/dm/atcl/column/15/120100084/120200004/
2019/04/01(月) 20:38:40.55ID:WwdHkKwz
>>500
ありがとうございます。
ダイオードのパルスを検知するんですね。
>>475さんのやってた事に似てますね。
2019/04/01(月) 20:52:37.76ID:+o/JYXIp
違いますん
503デフォルトの名無しさん
垢版 |
2019/04/01(月) 21:50:23.97ID:vHH72vdW
>>466
擬似乱数だがメルセンヌツイスターなので擬似乱数の中では悪く無い方
2019/04/01(月) 22:05:13.82ID:WwdHkKwz
>>503
そのようですね。
メルセンヌツイスターのアルゴリズムは僕には理解できませんでしたがw

numpyとかの乱数アルゴリズムも同じものなんでしょうか?
2019/04/01(月) 22:08:51.56ID:NO9OwW0c
1,1,1,1,1
とか出ても泣くなよ
完全な乱数だからこそ起こり得る

だからみんな擬似乱数に頼ってる訳でね
2019/04/01(月) 22:47:16.29ID:k5EPZlMW
擬似乱数じゃあ燃えないんだよ
2019/04/02(火) 00:44:41.58ID:CvY8tC6O
rdrandとか使ってみては
2019/04/02(火) 05:54:52.30ID:gBvXhrn2
配列があります
a=[1,2,3,4,5]
こいつを
12345
という数値にしたいのです

いい方法があったら教えてください。
2019/04/02(火) 05:57:27.50ID:gBvXhrn2
シンプルで処理の早い方法をさがしてます。
お願いいたします。
2019/04/02(火) 06:58:38.20ID:CvY8tC6O
from functools import *
from math import log10

a=[1,2,3,4,5]
b=reduce(lambda x,y:y+x*10**(int(log10(y))+1),reversed(a))

もっといいやり方がいくらでもありそう
511デフォルトの名無しさん
垢版 |
2019/04/02(火) 07:02:28.38ID:vnq7A+eD
>>508
int(‘’.join(map(str, a)))
2019/04/02(火) 07:33:10.79ID:gBvXhrn2
>>511
おお、シンプルですばらしい。
ありがとうございます。
処理もforやifを使わないので早いですね。

>>510さんもありがとうございます。
難しそうなライブラリ使ってますね。
配列の要素毎に10を掛けて桁を調整して合計してるのかな?
難しい。。。
2019/04/02(火) 07:44:53.89ID:QTHUeRtx
12345 if a == [1,2,3,4,5] else a
514デフォルトの名無しさん
垢版 |
2019/04/02(火) 08:03:00.15ID:ktdvkELe
文字列にしてから整数にすれば良いと思う。

b=''
a=[1,2,3,4,5]
for i in a:b+=str(i)
print(int(b))
2019/04/02(火) 08:23:27.64ID:gBvXhrn2
>>513
wwwww
if文ってこういう表記のしかたもできるんですねw
こういう表記ってなんて言うんですか?

>>514
おお、ありがとうございます!!
こちらもシンプルですね。
>>511さんのコードと比較しましたが
速度はまったく同じでした。
forを使っても遅くならないのですね。
516デフォルトの名無しさん
垢版 |
2019/04/02(火) 08:32:46.28ID:Vs75GbqA
b=0
a=[1,2,3,4,5]
for i in a:b=b*10+i
print(b)
2019/04/02(火) 08:33:24.41ID:/q81pfPO
後置ifで、perlで初めて見た
forも後置できるようなふいんきもあったがperlではそれは出来なかった
2019/04/02(火) 08:40:52.84ID:gBvXhrn2
>>516
うぉおおお
ありがとうございます。
速度計測したら一番早かったっす!!

>>517
後置ifって言うんですか!
勉強になりました。

内包表記の様に速度が速くなったりはしないみたいですね。
2019/04/02(火) 10:07:58.36ID:USFH8Mum
C系言語で言う三項演算子だね。
condition ? A : B
がPythonでは、
A if condition else B
となる。
conditionが真のときA、偽のときBになる式(Expression)
2019/04/02(火) 11:07:08.60ID:gBvXhrn2
そうなんですね。
勉強になりました。
521デフォルトの名無しさん
垢版 |
2019/04/02(火) 12:24:56.41ID:5+C+zQyU
疑似乱数だと 1,1,1,1 とかは出ないよな
0%
本物の乱数なら 0% ではない
この違いは大きい
522デフォルトの名無しさん
垢版 |
2019/04/02(火) 12:31:23.80ID:5+C+zQyU
> 516
functools.reduce(lambda a, b: 10*a+b, [1,2,3,4,5])
2019/04/02(火) 14:23:55.35ID:uhL2EIxw
cannot import name "xx" となった場合には同じ名前のファイル名を変更するとエラーがきえるようなのですが、相変わらずエラーをはいてしまいます

考えられる原因は分かりますか
2019/04/02(火) 14:30:15.60ID:eS5z4Dy6
パスが通ってないとこにおいてある
2019/04/02(火) 14:33:42.65ID:LaytCbYO
>>521
本気かどうか分からない発言をやめろ
2019/04/02(火) 14:42:17.69ID:YOIu+k7A
>>521
初心者が多いところで嘘をばらまくな
527デフォルトの名無しさん
垢版 |
2019/04/02(火) 14:58:56.35ID:5h6Mpqem
>>523
ジッサイノimport文とフォルダ構成書いて
あと、__init.py__はありますか
528デフォルトの名無しさん
垢版 |
2019/04/02(火) 17:04:02.29ID:v4Q8SbqT
youtubeのチュート見ながらコード入力してるんですが、1画面だと行ったり来たりが大変です。どうしたらいいですやろうか
2019/04/02(火) 17:15:53.04ID:DUIYqp7M
より安全のためには、secrets を使いなさいと書かれてるぞ。
https://docs.python.org/ja/3/library/secrets.html?highlight=secret#module-secrets

secrets --- 機密を扱うために安全な乱数を生成する
バージョン 3.6 で追加.

乱数
secrets モジュールは OS が提供する最も安全な乱雑性のソースへのアクセスを提供します。

class secrets.SystemRandom
■ このスレッドは過去ログ倉庫に格納されています