X



Pythonのお勉強 Part55
■ このスレッドは過去ログ倉庫に格納されています
0529デフォルトの名無しさん
垢版 |
2018/01/27(土) 14:17:46.78ID:Iwu0aMAU
>>523
用途がよくわからないのだけど
優れた疑似乱数がほしければメルセンヌツイスターとか使ったほうがよいよ。
0532デフォルトの名無しさん
垢版 |
2018/01/27(土) 15:46:33.18ID:K9A6cS9j
l = [("A", A), ("B", B), ("C", C), ("D", D)]

print ("一番小さいのは", min(l), "です。")

これで最初は一番小さいのがDだとしたらDがプリントされるんですが、ループ中にABCD関数それぞれの数値が書き換わった場合でもずっとDがプリントされます。
print(A)
print(B)
print(C)
print(D)
としていても変動はしています。
min内が変わらないので、原因をおしえてください。
小数点があるからでしょうか?
0533デフォルトの名無しさん
垢版 |
2018/01/27(土) 16:11:46.47ID:S+YQeyK2
>>528
>円周率の小数点以下任意のN桁目の数字の求め方(超高速に求めるアルゴリズム)
そんなものはない
0535デフォルトの名無しさん
垢版 |
2018/01/27(土) 18:08:02.17ID:WgYcU0Ps
>515
この順でやってみ
import time

a = time.time()
list02=[]
for x in range(1000):
□list02.append(x ** 2)
b = time.time()
c = b-a
print(c)

a = time.time()
list01=[x ** 2 for x in range(1000)]
b = time.time()
c = b-a
print(c)
0538デフォルトの名無しさん
垢版 |
2018/01/28(日) 00:44:04.11ID:TcsihYjg
あざっす!読んでみます。
0539デフォルトの名無しさん
垢版 |
2018/01/28(日) 06:50:51.67ID:jyB979TR
abc=[[0,0,0],[1,0,1],[0,1,0]]

こんな感じの配列がある場合、
0を□に、1を●に置き換えたい場合はどうすれば良いのでしょうか?
どなたか良い方法を教えて下さい。
0543デフォルトの名無しさん
垢版 |
2018/01/28(日) 08:04:19.67ID:jyB979TR
>>541
このコードはどういった仕組みで動いてるんですか?
自分はifを使った方法しか思いつかなかったです。
こんな短いコードでハイテクな仕事をするなんて凄い。。。
0544デフォルトの名無しさん
垢版 |
2018/01/28(日) 08:35:03.73ID:nqXDXQqX
文字列の0文字目か1文字目かを取り出している。
あと、リスト内包表記を二重に使っている
0545デフォルトの名無しさん
垢版 |
2018/01/28(日) 08:39:30.39ID:jyB979TR
>>544
ありがとうございます。
すごいですね。
内包表記を使えばこんなコードが書けるんですね。
0546デフォルトの名無しさん
垢版 |
2018/01/28(日) 11:18:57.38ID:FyHZopv6
>>539
>>> import numpy as np
>>> a = np.array([[0,0,0],[1,0,1],[0,1,0]])
>>> np.array([list(map(chr, (np.dot(a, np.eye(3, 3, dtype=int) * 46) + 9633).reshape(1, 9)[0]))]).reshape(3, 3)
array([['□', '□', '□'],
['●', '□', '●'],
['□', '●', '□']],
dtype='<U1')
0548デフォルトの名無しさん
垢版 |
2018/01/28(日) 17:25:19.64ID:Zu0i2wvf
内包より速いといいね
0549デフォルトの名無しさん
垢版 |
2018/01/28(日) 17:38:35.48ID:wPjcs82v
すみません。 .pyファイルを自動再起動するバッチをつくりたいのですが、dos で実行させると書くと cmd自体を終了させることになり
間抜けなことになりました。
dosから anaconda prompt などを起動してそこに.pyを自動実行させるほうほうはありませんか?
0555デフォルトの名無しさん
垢版 |
2018/01/28(日) 19:07:22.01ID:wPjcs82v
すみません。VB理解できず EXE化したpyをdos上で再起動ループさせて何とかなりました。
0556遊園地 ◆ExGQrDul2E
垢版 |
2018/01/28(日) 19:18:30.84ID:FBU0Mxiw
テストはしてない。

import subprocess
subprocess.run(('/sbin/shutdown', '-h', '1'))
0559デフォルトの名無しさん
垢版 |
2018/01/29(月) 04:59:30.27ID:7znYjzbE
今現れてる症状だと糖質だな
0560デフォルトの名無しさん
垢版 |
2018/01/29(月) 11:07:04.72ID:ijZgwjdS
python3使って三つの数の最大公約数ってどうやればいいんだ?
二つの数の最大公約数求めてからあと一つのとの最大公約数求めようと思ったんだがイマイチわからん
0562デフォルトの名無しさん
垢版 |
2018/01/29(月) 12:10:45.21ID:ZoR+QJGB
車輪の再発明前提で
速度気にしないならすべて素因数分解して共通因子の積
速度気にするなら互除法だが三つ巴の時のやり方をググれ
0563デフォルトの名無しさん
垢版 |
2018/01/29(月) 12:11:28.01ID:iH+qkuMv
公約数をcollections.Counterに全てぶち込んで3個の奴を降順ソートした0番目の要素が最大公約数
0565デフォルトの名無しさん
垢版 |
2018/01/29(月) 12:33:23.86ID:ZoR+QJGB
仕様変更しすぎで面倒
0567デフォルトの名無しさん
垢版 |
2018/01/29(月) 14:31:10.35ID:JiT9Fs3s
最大公約数を聴かれてるのに最小公倍数を教える阿呆
0568デフォルトの名無しさん
垢版 |
2018/01/29(月) 16:41:46.71ID:i2PFxJfw
VSCodeでPythonをやってる人がいたら操作を教えてほしんだけどさあ
「import numpy as np」みたいに入力してエンターキーを押した際、numpy等の余計な名前が補完されて「import numpy as numpy」みたいになっちゃうのってどう防いでるの?
そもそもnpから始まっているわけでもない名前を補完してくるって大した機能だけど、これ不便でないかい・・・・
0571愛知人
垢版 |
2018/01/30(火) 02:42:32.91ID:nQQmpnBb
なんでrangeの第2引数は1大きいクソ仕様なの?教えてエロい人
0572デフォルトの名無しさん
垢版 |
2018/01/30(火) 06:43:15.97ID:cxOTXvrl
def test(*a):
....print(sum(a))

b=[7,6,8,5]
test(b)

すいません。
可変長引数?なるものを試してみたのですが
何度やってもエラーがでます。
どなたか解決策を教えてください。
0574デフォルトの名無しさん
垢版 |
2018/01/30(火) 07:07:42.58ID:cxOTXvrl
素早いありがとうございます。
変数の前にも*が必要だったのですね!!
助かりました。
0575デフォルトの名無しさん
垢版 |
2018/01/30(火) 07:08:53.00ID:cxOTXvrl
素早いありがとう。。。
素早い回答でした。
すいません。

ありがとうございました。
0576デフォルトの名無しさん
垢版 |
2018/01/30(火) 13:52:46.96ID:+jOKiVIf
tkinter でボタンつくってそれをおしたら、クリップボード内にgetで取得した文字列をわたしたいのですが、簡単なコードで書ける方法があるならおしえてほしいです
0577デフォルトの名無しさん
垢版 |
2018/01/30(火) 17:19:54.91ID:61BNvo+J
pandas.DataFrame([get()]).to_clipboard()
0578デフォルトの名無しさん
垢版 |
2018/01/31(水) 00:20:06.36ID:Wr8CNei9
pythonでちょっとしたアプリを作って,それを非python環境でも動かすことは可能ですか?
pyinstallerというのがそれっぽく見えるのですが...
結局,動かすパソコンにpythonと必要なパッケージを入れておかないと動かないのでしょうか?
0579デフォルトの名無しさん
垢版 |
2018/01/31(水) 01:19:15.80ID:C+jfnCzl
ここでレス待つより
pyinstallerを激しく調べたり・試してみれば良いんじゃないのか
その方が早く結論でると思う
0580デフォルトの名無しさん
垢版 |
2018/01/31(水) 01:25:11.54ID:Wr8CNei9
>>579
ざーっと調べてみて,pyinstallerでイケるような気がしてきました
問題は望みのguiを作れるかですね...
0581デフォルトの名無しさん
垢版 |
2018/01/31(水) 02:07:15.01ID:PK6QBrDQ
>>580
いけるよ。
wxPythonで作ったツールをpyInstallerでexe化して使ってもらってる。
もちろん、使う側にはPython環境入ってない。
0587デフォルトの名無しさん
垢版 |
2018/01/31(水) 12:38:21.98ID:UGwUWfP6
とりあえずwin10 64bitで、py 3.6.1とpyinstaller3.3ならなんの問題もなくexe化可能。

win上でmac向けを直接作るのは無理。
環境一式を固めるだけなので、mac用を作りたければ、mac上のpy環境が必要。
…だと思う。
0588デフォルトの名無しさん
垢版 |
2018/01/31(水) 15:43:34.15ID:ZZNKUbS4
yamlが非常に便利でよく使いっているのだけど,
標準ライブラリじゃないんだよね.
同じような事を標準ライブラリでやりたい場合
なんかいい方法ありますか?

例えば dl = [{'1':1}, {'2':2}] みたいな変数を
サクっとファイルに読み書きできるような機能ってありますか?
0591588
垢版 |
2018/01/31(水) 15:50:08.66ID:ZZNKUbS4
>>590
今まさに,これを調べてた!
これでいいんですね!ありがとう!
0593デフォルトの名無しさん
垢版 |
2018/01/31(水) 18:59:15.58ID:t+i4Nq8A
>>587
ID変わります
僕はmacユーザーなのでその点は大丈夫そうです
必要なパッケージも分かったのでだらだら実践に移ろうと思います
ありがとうございました
0595デフォルトの名無しさん
垢版 |
2018/02/01(木) 10:52:44.15ID:DzJPkPrp
できますわな
0601デフォルトの名無しさん
垢版 |
2018/02/02(金) 06:44:00.41ID:TdwKXjoL
aaa={2,6,9}というリストに、
fff()関数に渡して、77を加えたいのですが、
エラーが出ます。どうすればいい?
AttributeError: 'set' object has no attribute 'append'

aaa={2,6,9}

def fff(bbb):
bbb.append(77)
print(bbb)

fff(aaa)
0602デフォルトの名無しさん
垢版 |
2018/02/02(金) 06:49:05.11ID:TdwKXjoL
global aaa加えてもダメ。

aaa={2,6,9}

def fff(bbb):
global aaa
bbb.append(77)
print(bbb)

fff(aaa)
0603デフォルトの名無しさん
垢版 |
2018/02/02(金) 07:19:00.22ID:lpRrOiv+
>aaa={2,6,9}というリストに
{ } は、set・集合だろ

>AttributeError: 'set' object has no attribute 'append'
だから、setには、append が無い

リストは、[2, 6, 9]
0604デフォルトの名無しさん
垢版 |
2018/02/02(金) 07:23:51.94ID:EzUfnp8s
appendをaddに変えると良いよ
0605デフォルトの名無しさん
垢版 |
2018/02/02(金) 07:26:15.84ID:sggyuymU
フォントωわかりにくすぎ
0606デフォルトの名無しさん
垢版 |
2018/02/02(金) 07:29:37.72ID:29y3RqyU
コ−ド打ち間違いでした。
リスト[2, 6, 9]だと、出来ますか?
今、通勤中で、パソコンがないので。。。
0608デフォルトの名無しさん
垢版 |
2018/02/02(金) 12:09:46.98ID:EhnDmFZw
これは、出来る?
グローバルなリストを、
関数内で、添え字で代入だけど。
今、パソコンがない環境なのです。。。

aaa = [2,6,9]

def fff(bbb):
bbb [1] = 77
print(bbb)

fff(aaa)
0612デフォルトの名無しさん
垢版 |
2018/02/02(金) 12:54:54.71ID:YzG776tY
>>608
下請けじゃないから試してないけど、多分できない。
関数内でglobalしとけば可能なはず。
0613デフォルトの名無しさん
垢版 |
2018/02/02(金) 13:08:20.53ID:oiJ7/Utq
Pythonで物理乱数を発生させたいと考えてます。
できるだけお金を掛けずに簡単にやる方法ってありませんか。
当方、プログラミングは最近始めたばかりの初心者です。
よろしくお願いします。

私が考えてるのはマイクなどで音を拾って音の周波数から乱数を発生。。。
難しいですかね?どなたかやり方教えてください。
0614デフォルトの名無しさん
垢版 |
2018/02/02(金) 13:41:32.66ID:EhnDmFZw
611、612さん、thx!
出来ました!
パソコン持って来てないけど、
分かりました(^-^)
0615デフォルトの名無しさん
垢版 |
2018/02/02(金) 13:52:45.89ID:HmPuZc+/
>>613
/dev/randomのソースを読む

アホは普通の人より多く金を払わなければ存在を認められないんだよ
それが嫌ならアホを脱出しろ
0616愛知人
垢版 |
2018/02/02(金) 13:55:08.72
それ読んでも擬似乱数の知識しか身に付かなくね
0619デフォルトの名無しさん
垢版 |
2018/02/02(金) 14:07:47.03ID:oiJ7/Utq
サイコロとかはなしでお願いします。
自動的に乱数を発生させたいのです。
0621デフォルトの名無しさん
垢版 |
2018/02/02(金) 14:12:35.82ID:vtmlqeLa
普通はrdrandとか使うんじゃないか
まさにrdrandっていうモジュールがPyPIにあるから
それ使えばいいだろ
0622愛知人
垢版 |
2018/02/02(金) 14:13:14.53
単位時間の音声データのハッシュを計算する。
素人だから本当にこれで良いのか知らないけど。
0623愛知人
垢版 |
2018/02/02(金) 14:17:04.86
ググったら/dev/randomもハードウェア乱数生成器ぽい
0624デフォルトの名無しさん
垢版 |
2018/02/02(金) 14:24:28.06ID:oiJ7/Utq
>>621
それってどういう仕組なんですか。
結局、CPUの擬似乱数を取得してるのと違うんでしょうか?


>>622
それ、しかないんですかね。。。
やり方キボンですw
0625愛知人
垢版 |
2018/02/02(金) 14:32:12.24
>>624
rdrandも>>622みたいな感じで生成してるっぽい
■ このスレッドは過去ログ倉庫に格納されています

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