漏れはruby厨は嫌いだがタイトルに書かれてると
いちいち毎回rubyが目に入るので目障りだからタイトルからは抜いて欲しい
ウリはチョンじゃないニダが韓国人のビザ免除廃止はやめて欲しいニダ。
あと韓日通貨スワップも再開汁!
ルーピーを呼び寄せてるかもしれんしな。 基地外はどこにでも湧くんだし、スレタイからは外した方が良い。
排除したいのは一人だけなんだけどな。
そのスレで一度でもrubyガイジが書き込んだら次のスレでruby禁止をタイトルに入れるようにするとか。
なんだ、効果ないかと思ったら存外効いてるんだな。継続確定。
>>9
逆にそういう対応すると荒らしは喜びそう。
タイトルから削除して、書き込みは無視が荒らしには一番効く。 >>12
rubyガイジはスレ事情をよく知らない新参者もそそのかしてruby学習を押し付けようとする。新参者まで無視を徹底できないから現実的でない 俺もスレタイ直してほしい
このスレタイ付けたやつjavascriptのスレも改題しようとして総スカンくらって断念したんだよな
Ruby 禁止、jQuery 禁止、ライブラリの話を禁止とか、
あちこちで、スレタイに入れたのが荒らし
昔は皆で、荒らしが立てたスレを削除して、まともな人がスレを立て直したりしてた
>>15
違うぞw
俺はこのスレの1だが、JavaScriptはほとんど打てない >>3
スレタイについてはどうでもいいが
少なくとも1に明記は現状必要かと
>>18
あっ
前スレの1だった
このスレの1、騙ってゴメンヨーw >>16
お前のせいでこんな事態になったのに
さっさと死ね >>16
お前が1年間書き込みをしなくなれば自然とスレタイからrubyの文字は消えるぞ >>16
お前がRubyを推せば推すほど、他の人はRubyに対して不快感と嫌悪感を募らせるだけなのに、お前は何がしたいんだ?
そこまでRubyの印象を貶めたいほどRubyに恨みでもあるのか? 基本情報の試験終わったしPythonの勉強始めようと思ってるんだけどオススメのチュートリアルってなに?
あとIDEのオススメもくださいな。
>>24
pythonの公式ウェブサイトのチュートリアルが良くできてると思う
IDEはVScodeかPyCharm
軽くさわるだけならJupyterやGoogle ColaboratoryでもOK Excelの特定のセルの値を取得したかったため、以下のHPを
参考に書いたのですがエラーが発生します。
何がおかしいのでしょうか。
https://note.nkmk.me/python-xlrd-xlwt-usage/
Spyder(Python 3.7)を使っています。
・コード
import xlrd
for sheet_name in wb.sheet_names():
sheet5 = wb.sheet_by_name(sheet_name)
print(sheet5.cell(1, 2))
・エラー内容
File "C:\Users\DEV\Anaconda3\lib\site-packages\xlrd\sheet.py", line 412, in cell
self._cell_types[rowx][colx],
IndexError: array index out of range 自己解決しました。
cellに値がないのに取得しようとするとout of rangeになるんですね。
正確には配列化されていないためでしょうか。
お騒がせしました。
gTTSなどのspeechで単語の間に適当な長さを開けるような記号はありますでしょうか?
gTTS(text="Hello World")
gTTS(text="Hello World")
はスペースは無視されて全く同じ長さの音声になります。
textをHelloとWorldに分けて間にsleepを入れるべきでしょうか?
本文のテキストを読み込んで朗読させる機構をつくって
sleepは本文テキスト中に「\s500」(500ミリ秒のsleep)くらいの記号を仕込んでそれを読み込み実行時にsleepと解釈させる
なので¥から始まる記号は増やせる
要するにベタ書きの埋め込みはしない
python2.7, pycharmで式の評価に
print u"あ"
を実行すると文字化けたんですがu付けたユニコード文字列でも文字化けすることあるんですか?
ソースコードで実行やcmdでの対話だと"あ"もu"あ"も普通に出力出来るのでpycharmの設定ミスが原因と思いますがユニコード文字列は化けに悩まされないと信じてた初学者の為どうしてこうなるのか分からないです
キーボード入力ってデフォでできるんですか?
if pressed key_a:
print(hoge)
みたいな
あるキーを押し続けている間、1と2を繰り返し表示し続けるみたいな
こういう場合はwhileを使う感じですか
>>33
すいませんlocale?は調べてもよく分かりませんでした
win7にpython2,7とpycharm入れて始めたばかりというレベルですので…
ネットで調べてもいまいちよく分からないですがとりあえずpython3使ってやります atom使ってるんですが、以前のセッションを復元する方法はないですか
誰か、Python のどこがいいのか教えてください。
PerlやRubyと同じじゃないんですか?
どんなところが優れてるんですか?
大学の情報科学でもPython やりますが、なぜPython なのか、そこのところで消化不良おこしてます。
Pythonと他の言語との圧倒的な差は将来性だよ
Perlは10年後にはなくなってるかもしれない
Pythonの需要はどんどん大きくなっていく
Rubyは…
なんだかんだいってRubyがガチで戦える相手はPHPだけ
>>44 Python は、文法的には奇をてらわずに誰でもわかりやすくしているからプログラミングの初心者教育にも最適であり、
どんな言語で書いたものとも結び付けられるという拡張性で中心的な言語となってるんだと思う。
どんなコンピュータの上でも動く汎用性とコンパクト性。 Python>C#>javaScript>他の言語>Ruby
インタプリタ言語とコンパイラ言語は排他的ではない。
一長一短。
また、HTML もドキュメント記述言語として別のジャンルであり、排他的なものでもなくJavascriptもHTML の拡張言語的な位置付けだから排他的ではないだろう。
if input()=="a":
print("hoge")
vs codeでキー入力検知できますか
これでは動かなかったです
且つ、または の記号って
|| && か | &
どちらでも変わらないのでしょうか?
>>53 動くけどな。 print の前にはタブはあるよね? あります
pythonエクステンションを入れた状態で動くんですか?
別ウインドウが開くようにしないといけないのですか?
>>57
自分の環境だと実行した時点で分割ウィンドウにターミナルが表示されて、
そこに表示される。 ターミナルは表示されるんですが、そこでキーを入力しても反応はしないです
>>59
俺も最近vscode使い始めたのでよくわかってないんだけど、
機能拡張とかvscodeのバージョンも関係してるのかな?
ほかのスクリプトはちゃんと動くの? ↑ああわかりました
ターミナルじゃなくてデバッグコンソールに入力するんすね
使い方わかってなかったdeath
公式のpythonリファレンスが小難しいのですが、他に簡単なwikiなどないですか?
threading.timerの使い方わからぬで
>>65
ネット検索でわからないのなら、入門書を買ってみたらどうでしょう 一定間隔で関数呼び出すにはどうしたらいいんでしょうか
treading timerで
>>67
ちょっとはやとちりした
while とかではだめなの? >>74
チャットじゃないんだから、もう少し落ち着いて確認してから書き込みな whileで常に実行させるにはどうしたらいいのですか?
特に条件式など必要ない場合です
http://codepad.org/ufEc1hv5
wh_st = True
press = input()
while(wh_st==True):
print("false")
if(press == "a"):
print("true")
このコードで常にfalseが実行されて、aを押しっぱなしにしたときだけtrueが実行されるようにしたいのですが、これのどこが駄目なんでしょうか
vs codeの環境でデキますか?
whileとはスイッチを切り替えた瞬間に発動されるようですが、はじめからtrueになっていると実行されない感じですかね あまりにもわかってなさすぎるから入門書とかやり直しなさい
input()の代わりに何を使えばいいですか?と質問できるようになったら戻っておいで
指定サーバのファイルを参照するとか、ジャンプサーバー経由でどうこうするとかをどうやってやるかが全然イメージ出来ないのですがpythonでも簡単に出来るものなんでしょうか
サーバーの知識とネットワークの知識とプログラミングの知識は別物だから
三つ揃ってたら一人でもできるけどそうでないなら気軽に簡単ですとは言えないかな
サーバー上のファイルを参照するといっても、httpでとるのかsmbでとるのかnfsとか使うのかssh張るのかとか色々あるし
>>82
ありがとうございます
サーバとネットワークの知識は触り程度の理解しか無いのでこの連休中にそれぞれ学んでみたいと思います 連休中にYahooニュースの一覧、詳細、画像まで保存するスクレイピング完成させたいんだけど
1から勉強できるサイトありませんか?
Pascal,VBのみ使えるおっさんてす
import matplotlib.pyplot as plt
%matplotlib inline
本を読んでいたら上記サンプルコードがあったのですが、
2行目先頭の「%」はどのような意味があるのでしょうか?
>>85
VB使えるならUiPathを使え。
コミュニティエディションはタダで使えるぞ。
しかしその要件ならVBの腕もほとんど発揮することもなくほぼノーコーディングでいけるな。
スクレイピングをサポートするウィザードみたいな機能も付いてるから。
使い方分からなかったらUiPath Academyの初級コース受けろ。
もちろんタダ。日本語。
やりたいことが決まっているのだから、ビデオだけ見て演習はスキップしろ。時間がもったいない。
連休の半分以上は遊んで暮らせることを約束しよう。 >>86
% は python 関係ない
jupyternotebook のマクロみたいなもん >>88
jupiter用ですか、ありがとうございます Ruby, Nokogiri, Selenium WebDriver で、CSS Selector を使った
driver.navigate.to "https://www.yahoo.co.jp/"
doc = Nokogiri::HTML( driver.page_source )
# ニュース一覧
elements = doc.css( "#topicsfb > div.topicsindex > ul.emphasis > li > a" )
results = elements.map( &:text )
puts results
--- 出力 ---
両陛下 皇居外で最後の公務写真NEW
女子中学生襲撃か 男を確保動画
祝日じゃない GWと労働義務写真
盲導犬は救急車NG 誤り謝罪写真NEW
豚コレラ 対策徹底も「限界」写真
史上初 MLBとNFLから1巡指名写真NEW
伊調馨 準決勝でまさかの黒星写真NEW
大竹しのぶ デート報道を否定写真 >>86
jupyterのマジックコマンドというもの import numpy as np
x=np.array([-1,2,-3,4,-5,6,-7,8,-9,10])
こんなnumpyの配列があります。
0より小さい要素だけを削除したいのですが、
ifを使わずにnumpyだけで行うにはどうすればできますでしょうか?
>>93
普段js使ってんだけどこれはうらやましい。
arr.filter(x=>x>=0)なんかより簡潔かつ理解しやすい。 a = input()
if(a == True):
print("true")
elif(a == False):
print("false")
これで入力されたかどうかを、false か trueで受け取りたいのですが、どうすればいいんでしょうか?
>>93 全要素に1を加えるなんてこともできるんだな。
print (x+1)
[ 0 3 -2 5 -4 7 -6 9 -8 11] >>93
ありがとうございました。
本当にとてもシンプルでわかりやすいですね! atom使用なんですが、おすすめのlinterはありますか?
できればjavascriptなど多言語対応のものがいいです
>>102
atom-beautifyから呼び出せればいいの?
pep8
autopep8
flake8
かな
個人的にはflake8が好きだけどatomから使ったことはない 有名なアドオンがあるんですね
ありがとうございます
linterってやつじゃないと使えないみたいですね
非推奨と表示されちゃいます
>>106 PythonistaはiOSの制限でDropboxとの同期が禁止されたり有効になったりしてるから現在どこまで許されているのかよくわからない。 >>107
スレチでしたね
誘導ありがとうござました RecursionError: maximum recursion depth exceeded while calling a Python object
このエラーをググっても再帰の深さを変更する趣旨の記事ばかりなのですが、この状態で進め続けていくとどのようなトラブルが起こるのでしょうか
>>110
おそらくループを回そうとして、自分を呼び出す、
つまり再帰を行っている可能性が高い
しかもその再帰から復帰する手続きをしていない可能性が高い
メモリーを使い尽くして動かなくなりますね システムにパイソン入れてそこにモジュールも追加してるけど、仮想環境にインストールすべきだったかな
ゲームでMod使う時も仮想環境にModをインストールするものね
これからゲームのModみたいに致命的なエラーが出たりするのかな
>>112
仮想環境の意味するところが分からないけどベースシステムにインストールすると色々とトラブルになることもあるよ
ゲームって言ってることから察するにWindowsだと思うけど、公式のPythonならpipenvで、Anacondaならcondaコマンドで環境分けるのが良いと思う
それでも環境変数PATHに追加すると思わぬところでエラーがでる
どうしても環境崩したくないならVMwareやVirtualBoxで別のOS入れるか、あるいはDocker使うかだね 仮想環境を使わないメリットがわからん
システムにパッケージ入れてたら、どのパッケージが今作ってるプログラムに必要なのかわからなくなるやん(´・ω・`)
現代の富豪プログラミングですな
生環境に応じて台数分のPCを用意すればいい
class vector2():
def position():
x = 100
y = 50
------------
import vecter2
position_function = vecter2.cl.position()
print(position_function.x)
print(position_function.y)
モジュールを呼び出すと
print(position_function.x)
print(position_function.y)
の部分で属性エラーになるのですが、どこが駄目なんでしょうか
positionの引数にselfがない
インスタンス変数の定義は self.フィールド名 への代入で行う
vector2.cl の cl はどこから出てきた
そのままだとクラス変数だからvector2.xとvector2.yは存在するから呼び出せる
def position(self): self.x, self.y = 100, 50
としてインスタンス変数にすれば解決する
詳しいことはpythonのクラスについてもう一回勉強し直せ
clは間違いです ごめんなさい
またselfですか
これわけわかんないです
お代は結構ですのでこのままお引き取り頂けないでしょうか
>>118
vector2.xではアクセスできないっぽいですが 事は穏便なうちに収めた方がお互いの得になると思いませんか
マジでもう勘弁してください
僕たちの技術力ではあなたの抱えている問題を解決することはできないんです
レントゲンしかない町医者で脳外科手術なんてやらないでしょう
せめてCTあるとこ行ってください
>>122
Pythonの公式ページを一読することを推奨する
見ていて全くpython感がない
一応アドバイスすると問題点が2つあるように見える
importを理解していない点とclassを理解していない点
hoge.pyの中にclass abcを定義したら、呼び出し方は
import hoge
...
hoge.abc()
あるいは
from hoge import abc
...
abc()
のどちらか。
すなわち問題のあるコードではvector2.vector2()としてインスタンスを作るか、from importを使うかになる
次の問題点はclassのインスタンスを作らずにメソッドを呼び出している点
この呼び出し方は初心者向きではない
これを踏まえた上でサンプルソースを書くと
vector2.pyの書き方
class vector2():
def __init__(self):
self.x = 100
self.y = 200
呼び出し側
import vector2
v2 = vector2() # インスタンス作成
print(v2.x)
print(v2.y) おっと、呼び出し側ミスった
v2 = vector2.vector2()
>>119
別人だと思ってたけど、あなたまだselfで悩んでたの?
本当に頭悪いね 他の言語から入ってpythonを勉強しないで使おうとするとクラスメソッドは結構ハマると思う
Instance method ... インスタンスを作って呼ぶ、第一引数に慣例としてselfを書く、初心者はこれだけでOK
Class method ... インスタンスを作らなくてもクラス名.メソッド名で呼べる、メソッド定義の前に@classmethodを書き、さらに第一引数に慣例としてclsを書く
Static method ... インスタンスを作らなくても呼べるがクラス変数等の状態変更はできない、メソッドの前に@staticmethodを書き、第一引数にselfやclsは不要
@で始まるデコレータはなくても動くので、メソッドの第一引数にselfを忘れると全部Static methodになってしまう
またデコレータの定義がないとインスタンスから呼び出せないので、メソッドが見つからないとエラーになる
>>128
ええ、悪いですよ
だから教えてください selfについてはググれ
わからなかったらアキラメロン
class vector2():
value = "hogehoge"
def __init__(self,nakami):
self.value = nakami
print(vector2("へ").value)
selfにインスタンスが入るということならこういう記述でいいわけですが、具体的にどういう場面で役立つんですか?それがわからない
>>133
まずコードの指摘から
そのコードの上のvalue="hogehoge"はクラス変数であって、インスタンス変数ではない
JavaやC++とは異なるので注意が必要
次に概念の方
例えばクラスPersonを定義したときに、そのインスタンスとしてAさん、Bさん、Cさんがいたとする
それぞれ年齢は20才、30才、40才とする
これを実現しようと思ったら
Class Person():
def __init__(self, age):
self.age = age
とした上で
a = Person(20)
b = Person(30)
c = Person(40)
と3つのインスタンスを作れる
インスタンスごとに異なる年齢を持つので、それを保持するのはインスタンス変数であるべき Pythonの問題じゃないなぁ
オブジェクト指向を理解していない
もうこの人はself以前に複合データ型が分からん様なので
オブジェクト指向やスコープの解説を重ねても無駄である
ここまで理解力がないなら、いっそのこと抽象度の高いpythonはやめてシンプルなC言語をやった方がまだましなのではないだろう?
PyConに来てる小学生の方が1000倍くらい優秀やなw
この前URLみたいなものだってことで納得してた人?
それとも別人?
>>133
Python使う人は本当にバカしかいないし嘘を教える人もいるので他所で聞いた方がいいですよ
なんか、Rubyとかすごい人が集まってるって聞きました Rubyほど言語作者が嫌われてる言語も無いだろうよ。。。
>>134
目的としてはインスタンスごとに異なる値を持たせるときに使うということですね Ruby では、@a がインスタンス変数で、@@b がクラス変数。
誰が見ても、誤解がない
それに一々、引数で、self を渡さなくても良いように、
実装で頑張って、self を隠した
だから、多くの言語評論家が、初心者へRubyを勧めるわけ。
他の言語では、関係のない所でつまづくから、プログラミングを学べない
Rubyの女神・池澤あやかも、Rubyから始めるように言ってる
大学教育では、ポインタのあるC言語から始めるから、皆プログラミングができないようになる。
プログラミングは、しょーもないという思い出しか残らない
プログラミングに「楽しい」という概念を作ったのは、Rubyが初めて!
その後、Elixir も
Pythonがselfをいちいち引数に入れるのは設計思想に従ったため
selfをあえて引数にしている事でメソッドを動的にクラスに追加できるようになる
>>147
引数にself渡さないおかげで、どのメソッドでインスタンス変数やクラス変数が使われてるか分かんねーんだよ!!ボケ!!! Ruby 「私が新時代の言語だ!」
PHP「素敵!うちの卒園生は任せたわ!」
Java「Springから仕事を分けてやろうか」
Perl「汚れ仕事もちゃんとできないと…」
Go「地ならしに励んでくれたまえ」
Python「私が新時代の言語だ!」
C、Java、Fortlan「雑用は任せた!」
Perl「これで死ねる」
Matlab「著作権とか…」
R「ガットハブグフーン?」
RubyとPythonはこれくらい立ち位置が違う二人だと思う
>Perl「汚れ仕事もちゃんとできないと…」
ワロタ
>R「ガットハブグフーン?」
ここにもワロタw
Ruby 「」
Weiss 「」
Blake 「」
Yang 「」
>>149
JavaScriptだとselfを引数にしなくてもメソッドを動的にクラスに追加できるんですがそれは そうなんだ、すごいね
じゃあjavascriptやっててね
生ゴミはこのスレに来なくていいから新海面に埋まっててね
Pythonは暗黙より明示にと言う方針があるのでそうなってる
記述は長くなるけど関数内からアクセスできることが明確なので独立した関数の場合と構文を揃えられるわけ
Javascriptにもthisはあるけど暗黙になってるべ?
Perlみたいに地面から$_が湧いてくるみたいな魔界はもう懲り懲りなんよ
ruby憎しで公平な見方ができなくなっているのではないかと思い、
茶化すようなことを書いてしまった。
結果的に荒らすようなことになってしまい、申し訳ない。
皆さんスレチに困ってるだけでRubyが憎いわけではないと思われ
selfくんにどっか行ってほしいだけだよ
端折った気になってるのかもしれないが、その結果が一ヶ月半もselfがうんたらうんたらだぜ
脳みそが芯から腐ってる
AnacondaでIPythonコンソールは出るけど
Pythonコンソールが出ないなあ
self君にどうやってselfを教えればいいのか
今まで出てきた話やリンクを全部読んでれば理解できるはずなんだけど、全然読まないのよね(´・ω・`)
絶対に彼のことを忘れてはいけない、もうこれ以上この悲劇を繰り返さないために
悲しみと憎しみばかりを繰り返す、救いようのないスレだけれど、だとしてもここは、かつてあの子が守ろうとした場所なんだ。それを、覚えてる。決して、忘れたりしない。だから私は、戦い続ける
>>170
Rubyくんの方はこのスレだけでなくこの板の災害だよ コードって何にメモしておきますか?
ただのテキストですか
>>173 コード? コードを道端で書き始めることはまずない。
有ればスマホのメモ帳かメールだが、PC の前ならEclipse かSublime
今はPython で遊びはじめたが、これだと散歩中でも直接 Python で書き走らせて結果も見てる。
Pythonista
Dropbox でPCと共有してるからいつでもどこでも出来る。他も良く使うものはDropbox で共有してる。
Jupitor Notebook は、コード補間がないからスマホではまず使わない。 じっくり腰を据えられる環境じゃないとコードは書かないな
実装アイデアだけなら紙のノートにボールペンで書く
値を入れてそれを調理するのが関数だから、値なしなら何も返さないというだけ?
fizzbuzz問題って採用問題でよく出るんですか?
postでcookie入れて
ここに書き込みする方法教えて
>>181
まずChromeとかFirefoxの開発者ツールでネットワークのログを取りながらレスを書き込んでみろ
そうするとPOSTしてるリクエストがいくつかあるはずだから
urllibやrequestsを使ってそれらを再現するんだ
あとは自分で何とかしろ cookieはrequestsならSessionを使えば勝手にcookie保持してくれる
urllibならcookiejarだ
>>180
採用に際して何もしてないよりはマシだが
あくまでも相対的に見た場合の話で全体では下の下だ
仕事したいなら他を勧めるね
これ以上はマ板でやってくれ
Python関係ない >>183
Chromeでクッキーのキーバリュー調べたり
session作ってやったりしたんだが
404が返ってくる requests.Session()
s.cookies
この辺つかってる
もし、いきなり投稿するリクエストをPOSTしているなら
もっと手前から、例えばスレを開くところから再現すると上手く行くかもしれん
あと、メジャーなVPSからやると404になったと思う
>>187
パラメーター入れないで
postで開くとこからやってるんだけど
ダメなんだなぁ
driver.browser
からは簡単にできた スクレイピングの基本として書き込めない場合は
セッション
User-Agent
Cookie
Referer
をまず疑う
それでもダメならアクセスの順序、JavaScriptの有無を疑う
WebDriverで済むならあらゆる場合でそれが簡単
>>189
requestからでも簡単にできるって言われて
いろいろ試してんだけどなぁ
Code聞いちゃうかなぁ >>190
普通にトランザクションのログ取ればいいだけじゃないの?
ブラウザの開発モードやプラグイン的なものでもいいし、
httpで暗号化されてなければwiresharkで取るのもあり >>192
人の話を全く聞かないヤツだなぁ
chrome開いて
デベロッパーツール開いて
Networkタブクリックして
Headersを見たら
リクエスト全部書いてあるだろ
その通りそのまんま送れ ヒントだけでも置いてくか
5ch連投ツール配布スレというのにperl版がある
参考になるだろう
>>194
お前ここに何かPythonから書いてみて Perl版書き換えてPython版作って見たが403 Forbiddenって出たな
VPSのIP規制されてるのかね
手持ちのサーバ2つともNGだった
作ったソースはムカついたから貼らんけど
CookieJar作ってbuild_openerでセットして
urllib.request.install_openerでインストールして
add_headersでヘッダセットして
あとは普通にPOSTすれば行けるんじゃないかね
>>196 POST 何てコマンドラインから書いてもperl で書いても、Python で書いても変わる訳ないじゃん。
コマンドとかターミナルから直打ちしてみろ。 >>197
何か誤解してる?質問者とは別人だ
POSTはhttp methodのPOSTだよ
サーバ側のIP規制はどうにもならんし
必要な情報は全て書いたよ コマンドとかターミナルから直打ちってのはcurlやwgetでアクセスしてみろってことかな
考えてみればそうだね
いきなりPythonで書く理由もない
>関数の()は実行するという命令ですか?
察しろってことだよ
>>179
値なしでも、自分で考えて答えを出せってことだよ pythonでミュージックプレイヤーを作ろうとしてんだけど
flacファイルってどうやって再生するの?なんかいいライブラリない?
漏れは、Ruby, Nokogiri, Selenium Webdriver を使って、5ch をスクレイピングしているけど、
5ch は、空のHTML を送ってきてから、JavaScript(JS) でスレッドを取得するだろ。
Selenium Webdriver みたいに、ブラウザで操作しないと出来ないのでは?
その、JS で何かをやっているかも知れない
>>207 お前はプログラム言語を学ぶ前に日本語を習った方が良いな。
全く意味不明。 書き直してみろ。 flask,tornado,django, これらのフレームワークはそれぞれどの程度の規模(月間アクセス数)を想定したフレームワークなのでしょうか??
参照と継承って違うものですか?
サンプルあれば教えてください
>>215
日本語の意味を良く考えた方がいいよ
継承とは何か
参照とは何か >>172
web制作板でも電波撒き散らしてて蛇蝎のごとく嫌われてるぞそいつ 初心者ばっかりやな
Pythonかけるなら全部ここはBOTになる
教科書買って読み始めたが配列辺りから訳分からなくなってきたんだがどうすればいいですか?
理解せずに使い方だけを丸暗記
分かろうとするから詰まる
当面の間は使い方だけを丸暗記してしまえばいい
それなら理解しなくて済む
>>219
読んでるうちは何も覚えないよ
すぐに環境整えて何か簡単なプログラム作ってみるのが近道
教科書100回読んでもコーディングはできないから >>219
とりあえず作ってみる
配列に入らない番号を指定してみる
こんなことを繰り返すのが一番 >>219 読むのは良いが常に書いてあることを自分で確認しながら進めないから理解できないんだよ。
練習問題がネットでコピペ出来るものを選べば良い。
まずはPython をインストールしたのか? Pycharmで、
function is too large to analyze
プログラム書いた上部に、
緑色のこんなエラーみたいな表示がでます、
プログラムは動かせるみたいだけど、
これなんでしょうか?
拡張と継承は同じ意味なんですか?
継承したうえで拡張する という意味だとしたら、 拡張は継承を内包するということでしょうか
>>224
そのまんまだろ
バカでかい関数書くなカス
って意味だよ >>227
ありがとうございます、
関数が大きすぎるって意味なんですね、
とりあえず無視して使います。 >>220
数学の参考書みたいにチャート式pythonとか基礎問題精講pythonとかマセマ式初めからから始めるpythonとかがあれば和田秀樹流暗記プログラム術ができるのに。 チャート式は問題集でしょ
参考書ってのは黒大数のようなものを言うのだ
継承は親から子へされるものであって、子から親はないのですか?
VSCodeを使っています
"""
data = data_A # エラー発生行
"""
と、使い終わった範囲を"""でコメントにしているのに、その行でエラーが出てしまいます
"""
#data = data_A # エラー発生行
"""
と、範囲コメントアウトの中でさらに先頭に#を付けてコメントにしたら正常に動きました
"""を使用して範囲コメントアウトするのは危険なのでしょうか?
(Indentはしていません)
範囲コメントアウトをネストしようとして
内側のコメントアウトが効かなくなったとかでは?
>>235
ありがとうございます
"""
data = data_A # エラー発生行
"""
上記の様に"""の次に何も無い行を入れても、エラー発生行は変わりませんでした それをコメントと説明してるのもあるけど、コメントじゃないよ。
form = '''
なんたらかんたら
あれやこれや
'''
print( form )
# なんたらかんたら
# あれやこれや
いわゆるヒア演算子よね
それにしても文字列の中で式が評価されたらとんでもなくヤヴァイわけだから
囲い方に問題があるのじゃないかと思うけど
>>240
VSCodeがついにコンテナやサーバー上でのリモート開発に対応してしまったから、PyCharmの優位性がほとんど無くなった
もう終わりだから今買うのはお勧めできない djangoのファイルを参照する記述で
return render ('app/index. html' ) という記述と
return render ('app:index') という記述があるのですが、この2つはどのように使い分ければ良いのでしょうか
トリプルクォーテーションは改行を許す文字列。
しかし中に式が含まれていても文字列として解釈されるはずだけどな、Vscode のバグだろ。
pythonでは__END__や__DATA__は無くなったがその他全てのものが増えた
>>233
子から親のクラスメソッドやクラスメンバを変更(追加)することは可能 >>242
PyCharmってかJetBrain製品サブスクで買いきりじゃないってのがなぁ 前スレで乱数について質問してた人まだ見てるかな?
この連休で、トランジスタの電子雪崩使ったノイズ回路をPICマイコンでAD変換してシリアル通信吐き出すおもちゃ作った。
Python側はpyserialで受けてmatplotlib使ってリアルタイムに吐き出した数値をヒストグラム表示させてみた。
検定はRでカイ二乗しかやらなかったけど、結構均一に数値をはきだしてました。
たった20行くらいでアプリ書けるPythonって、やっぱ趣味ユーザーには嬉しいわ。
昔、PIC で遊んでたけどしばらく離れると使う気にならなくなるな。 プリント基板まで自作してたけど、しばらく使わないと家族に捨てられてしまう。
今は、ARM のCPU 積んだボードが2000円位からあるからな。Bluetooth WiFi ADC GPIO てんこ盛りでPython まで動く。
この間両方ともPython で通信した。 ボードの状態をBluetooth で出して、iPhone のpythonista で受けて表示。 両方ともすごく簡単。
初心者が使うには、
PyCharmと、
VSCodeは、
ぶっちゃけどっちがいいの?
どっちも最初の設定にはちょっと悩むかもしれんので、大差無いかもだけど、
vscodeの方がネット情報は探しやすい。
>>251
そうですかぁ
PyCharmに慣れてきたけど、
VSCodeも試してみるかなぁ その二つならどっちでもいいから環境構築に時間かけるよりどんどんコード書いてけ
半年学んだら就職出来るってマジ情報ですか?
プログラム全くの未経験なんですが
>>253
確かに、
環境はそれほどこだわらなくてもいいか、
コード書けるようになりたい、
ほんとに素人だけど、
PyCharmで書いた、
プログラムで、仮想通貨のbot作って、
今日は、500円儲けた、
もっといいコード書けるようになりたい。 コード補完やリファクタリングは圧倒的にPyCharmの方が優秀だけど、VSCodeより動作がやや重いよね
最近は、大規模開発ならPyCharm、スクリプトレベルならVimで書いてるなぁ
>>223
インストールしたら負けかなと思っている スレあってるか分からんけど、
初心者用の本でオススメ教えてください
写真等が多い本が好きです
使用ツール jupyter
言語 python3
目的 データ分析
プログラミングレベル 一昨日からの超初心者、forとifが混じると混乱するレベル
職業 マーケティング関係
データサイエンティストではないけど、簡単な分析できる程度には必要らしい
windows10 anacondaの質問です。
今までctrl+enter や、runで実行出来てたのが、
In [*]: と、数字にならず、アスタリスクになり、実行しても結果out[]が表示されません。
原因がわかる方がいらっしゃったら、解決方法をご教示ください。。
よろしくお願いします。
とりあえず初心者はpython bootcampやってみればいいよ
テキストはタダで見られるんだから(´・ω・`)
>>258
その用途ならPandas(データ処理)やMatplotlib(可視化)のページがあった方がよいと思うので、「東京大学のデータサイエンティスト育成講座」がシンプルにまとまってると思うよ。本屋で立ち読みしてみて。 今elasticsearchをpythonから操作してるんだけど、APIから帰ってくるdictの階層が深くて、ほしいデータを得るにはflake8の80文字制限を超えて辞書にキーを与えないといけなくなる
80文字制限を守りながら、階層の深い辞書にアクセスするのは、どうしたらええんやろ
good_new = p1[st==1]
この文の[st==1]ってどんな意味があるんでしょうか?
p1とstはarrayです
arrayじゃなくてndarrayだったら死んでもらうからな
pyinstallerで--noconsole指定してexeができた途端ウィルスバスターに駆除された
--noconsole指定しなければ問題ない
なにが悪い?
アナコンダでgdal入れてもimportエラー毎回でて本当困ってる
いろいろググってバージョンとかダウンロード先変えても無理
誰か教えてください
>>270
自分で解決したわ
アナコンダナビゲーターのenvironmentからやればいいだな みんなアナコンダ使ってるみたいなんだな...。
俺もMac時代はpyQtとmatplotlib欲しさに穴をインストールしたけど、
Linuxに移ってからはsynapticかpipで欲しいライブラリだけインストールしてる。
個人で使ってる分には今のところ不都合ないけど、Linuxでも穴インスコするメリットあるでしょうか?
ちなみにエディタはgeditで事足りちゃう程度の趣味プログラマーです。
Pythonで掲示板作ろうかと思っているんだけど
request
urllib
この辺使わないと無理?
>>273
外部のURLからインポートする機能がなければ不要 >>272
メリットはOSを跨げること
Redhat系とDebian系の微妙なライブラリの違いを吸収できる
ライブラリごとインストールしてくれるからね
あと一応パッケージ間のバージョン干渉が小さいけど別のchannel使うともはや崩れまくり
他にはpyenvかpipenvとか迷わなくて済むくらい? <form action="a.py">
ご感想:<br>
<textarea name="kanso" rows="4" cols="40">ここに感想を記入してください。</textarea><br>
<input type="submit" value="送信"><input type="reset" value="リセット">
</form>
ってやってnameってどうやって受け取るの?
>>276
まずはDjangoのチュートリアル本を一通り終えてきなさい
話はそれから >>276
モジュールをなるべく使いたくないってことだよね?
環境変数 QUERY_STRING に入ってるよ レンタルサーバーで掲示板を
Pythonで作ろうかと考えていたんだけど
post使えないっぽいの
>>279
レンタルサーバにもいろいろあるからよく分からないけどウェブサーバ側でPOSTメソッドを禁止してるってことかな
そんなサーバあまり聞いたことないけど、何か勘違いしてないかな?まぁ技術的にはできるけども
POSTを受け取るには環境変数CONTENT_LENGTHで長さ取得した後、標準入力から受け取ればOK
自分ならそんなクソサーバはやめてDjangoかFlaskが動く環境に乗り換える ごめんpostは使える
requestsが使えない
phpならできるんだけど
Flaskとかdjangoの勉強し直すか
サーバ標準pythonにモジュールがないってことか
そりゃなさそうだね
最初にサーバ側のマニュアル等を読むのが先かなぁ
DjangoやFlask勉強したところでサーバ側に任意のモジュール置けなければ結局動かないよ
sshでシェルさわれてpipenv等使えて
かつ任意のpythonをuWSGIで呼び出せる環境なんだろうか
結局SSH使えるように金払わんと触らせんって感じなんだと思う
>>286
一応の解決策としてはanacondaの最小版minicondaを使う
minicondaはあるディレクトリ以下に環境が全てがインストールされるから、ローカルに仮想マシンでも立てて必要なパッケージをインストールした上で、リモート環境にディレクトリごと全アップすれば行ける
呼び出すときは
#!/home/foo/miniconda3/envs/hoge/python
みたいなおまじないを書いて実行権限をつければOK 普通にflaskでも使えるサービス使えばいいやん
ていうか、素のPythonだけでも掲示板作れるし
>>288
どうやるんや?
無知なワイに教えてくれ >>289
BBSの仕組みとか構成は理解してますか? >>290
perlで10年前にテキストから作った事あるけど
どこまで理解できてるかわからん >>291
先ずはそこからじゃないですか
構成がわからなければ実装のしようもないので
勉強用ならもっとシンプルなwebサービス作るのもいいと思います ていうか、とりあえず作るならローカルでいいじゃん
普通にflask動くし
そこでbottleですよ。標準ライブラリのみでbottle.pyのファイル一つ置くだけで使えるし
基本はFlaskと同じだから移行もしやすいだろう
FlaskとかdjangoをPIPインストールしなきゃならんのよ、そのためにはSSH使わなきゃならから少し金払わなきゃならんでがんばっていたのだが
めんどくさいから金払ってフレームワークpipインストールする。
URLの後ろについてるキーバリューを受け取るだけの作業だよね
なんでそんなのにワシつまずいてんのや
ここは是非ともローカル環境での構築を検討してみては如何か
例外処理についてなのですが、同じ例外クラスで原因(メッセージ)が違うような例外が複数出る可能性があるとき、どのように処理するのがいいのでしょうか?
具体的には
def function(s):
if s.isdigit == False:
raise ValueError(“not digit”)
if s.isalpha == False:
raise ValueError(“not alpha”)
...........
このような関数をtry:exceptionするときそれぞれの例外を拾ってちゃんとしたエラーメッセージを表示させたいです
例外を例えば変数eで受けて
e.__str__()するとエラーメッセージの文字列が返ってくるから
それで分岐させるといいよ
もしくは、例外のインスタンスのargsフィールドに、例外を作成した時の引数が入ってるから、それで見分ける
楽天のapiを叩いてランキングを取得したいのですが、30位のみしか表示されません。
1位から順に表示するにはどのように記述すれば良いのでしょうか
r = requests.get(url).json()
for i in r['Items']:
item = i['Item']
print ("順位: ",item["rank"],"位")
print ("商品名: ",item["itemName"])
print ("URL: ",item["itemUrl"])
print ("価格: ",item["itemPrice"])
PythonでWebアプリ作ってます
試作品はNginxとCGIを使っていて、PythonのスクリプトはWebサーバで動作してるのですが、Apache+mod_jk+Tomcatのように、
Pythonスクリプトの実行はWebサーバとは別のサーバで動作させたいと思ってます
(WebサーバにPython3が入ってないため)
Python製Webアプリだとどういう方法がとれるでしょうか
CGIでなくなってもよいので、教えてください
>>312
サーバ1 ... nginx or Apacheでリバースプロキシ
サーバ2 ... 313の方法 mod_wsgi は Apacheのモジュール
nginx uwsgi + flask or django でググれ
なぜクラスにはアクセスできるのに、関数のローカルにはアクセスできないんですか?
なぜそういう仕組なのか。
class classname():
x = 10
def funcname():
y = 10
print(classname.x)←いける
print(funcname.y)←だめ
クラスを定義した段階で関数のローカル変数スコープなんか存在しないんだからアクセスできるわけがない
仮に、作成されたいずれかのインスタンスで、最後に実行された関数のスコープにアクセスできるとしても、
それが何の役に立つのか、グイドには分からなかったのだろう
きみ、親切なら教えてあげるといいぜ
>>317
クラススコープは大雑把に言えば名前空間といえる
対して関数のローカルスコープは呼び出し毎のもの
静的ローカル変数ならまだしもアクセスしようがない 関数のスコープが消えちゃうならクロージャとして取っておけば良いじゃない!
>>320
関数のローカル変数は、関数の実行時にしか呼び出せないってことですか? >>322
変数は呼び出すものではないけど…ローカル変数は実行毎に都度確保される
マルチスレッド等で関数を呼び出しても干渉しないし、終われば破棄される
外部参照の必要がないからそうする訳で、当然アクセス云々も考えられない >>322
一部の記法が似ているからといって、概念や機能も似ているとは限らないよ
関数は入力に対して出力を得るもの
y = f(x)を実現したいときに
def f(x):
なんか処理
return 結果
と定義して、使うときは
y = f(123)
のように使う
関数のローカル変数はアクセスできず、結果のみ取り出せる
クラスはオブジェクト指向の型を定義するもの
例を挙げると「たい焼きを作る機械」とそれによって量産された「たい焼き」があるとすると、前者はクラスで後者はオブジェクトと呼ばれる
たい焼きを作る機械の重さを5kgとし、これをpythonで書くと
class Taiyaki():
weight = 5
と定義できて
Taiyaki.weightで値を取り出せる
普通は機械を作るだけでは満足せずに、たい焼きを作りたいので
taiyaki1 = Taiyaki()
taiyaki2 = Taiyaki()
のように一旦オブジェクトを作って使う rubyのメソッドチェーンを曲解して学ぶとこう言う思考になるんだろうか
それともJavaScriptのアロー関数のせいだろうか
いずれにしても興味深い例ではある
>>324
その例えはいまいちじゃないかな。
たい焼きではなく、たい焼き製造機を量産していることになるぞ。 spyder3なんですが、新規ファイルを開いた時に表示される内容を変更するには、どこをいじればいいですか?
デフォルトでmainが表示できるようにしたいんです。
RStudio とか Octave とかだと、それぞれのインタープリタのコンソールからスクリプトを(部分的に)走らせて、止まったところで変数の内容を確認して、ってやってたんだけど、Python のコンソールではできないみたい。
IDLE とか PyCharm とか使えばできる?
関数は入力(引数など)に対して結果を得るものという役割
そういうものだと受け入れます
受け入れる?
中1数学の一次関数からそうなってる
もしもこの前からずっと消防が聞いてるならやっぱり数学は必要だ
まずは関数を入れるやつから
def drill(val):
print("drill:" + str(val))
def saw(val):
print("chain saw:" + str(val))
def vulcan(val):
print("vulcan:" + str(val))
class Robot():
def __init__(self):
self.right_hand = drill
self.left_hand = vulcan
if __name__ == '__main__':
r1 = Robot()
r1.right_hand(123)
post や form などのモデルで全てが小文字と頭文字のみが大文字、全てが大文字と使い分けられていますが、なにか法則性のようなものはあるのでしょうか?
>>333 一般的には、頭文字が小文字で始まれば変数、大文字で始まればグローバルなもの、クラス名とか。
全て大文字ならコンスタント。
じゃないかな。 これに従わなくてもプログラムは通るが、関係者からはこっぴどく叱られるからルールに従った方がみんなが混乱しなくて良い。
プログラムの可読性が随分変わってくる。
また、英単語を繋ぐ時にスペースの代わりに、_ で繋ぐか、次の単語の頭を大文字にするとか言語により暗黙の了解がある。 python は、_ で繋ぐのがお作法みたいだな。
my name は、
python なら my_name
java なら myName
MY_NAME = ‘山田太郎’ #変更しない大前提。 >>334
分かりやすい解説、ありがとうございます。
法則を意識しながら進めていきます >>332
オブジェクトに持たせる?のは普通にやる事なのね(これが包含?)
クラスを持たせた場合、自分を持ってるクラスが参照出来ちゃうのは良い設計なの? 失礼します。
何点か質問よろしいでしょうか?
1)
練習として若干複雑なゲームを制作してみようと考えています。
仕様検討中に「pygame で日本語入力は困難」ということに気付き、検索したところ「wxPython を埋め込む」という解決策を見付けたのですが、
英語の掲示板に書かれた情報などがほとんどで、細かい部分がいまいちよく分からなくて困っています。
具体的にやりたいことはこんな感じです。
- キャラクリエイト画面での「名前(日本語単一行)」の入力
- キャラクリエイト画面での「設定(日本語複数行)」の入力
- キャラクリエイト画面で入力した情報の編集
情報が整理してまとめられたサイトあるいは具体的なコードなどご教示いただけると幸いです。
あるいは wxPython を用いない別な方法でも構いません。
2)
上述のものとは別に、理由あって「ライブラリの追加などを行えない2.7環境の使用」という面倒な条件で Markdown(GFM) を扱わなければならないのですが、何か手軽な方法はないでしょうか?
幸いシンタックスハイライトは不要なので自作のパーサを組み込めばいいのでしょうけれども、入れ子のブロック要素やテーブルの処理などが考えるだに面倒くさそうで……。
自作の参考になりそうなコードは見かけたのですが、JavaScript でごちゃごちゃと書かれたものなので解読に手こずっています。
>>337
Pillowで文字画像を作って貼り付ける >>331
普通の書き方かと言われると、やるヤツはやると言う言い方が良いだろう
Pythonはオブジェクトの相互参照が得意だから、こう言うやり方が出来る
やらないヤツはどうするかというと、デザインパターンで相互参照はメディエイターパターンを使う
あとステートパターンの状態遷移は、状態の遷移方法について状態側に持たせることについて制約していないので、この書き方は特殊とも言える
が、この書き方のメリットはある
各々の状態が自分以外の状態の全体像を知ることで、次に移る状態が決まっているならば呼び出し側の関数がスッキリする python anaconda環境をなんとかググりながら構築した?のが去年
スナフキン氏のbotを使ってみたかったため
バックテストは上手く行きいざ本番
ビットフライヤーサーバーの問題?タイムアウトでうまく行かず
そのうちpubnubがないよとエラーする様になり放置
本日、久しぶりに当該コードサイトにアクセスしてみると、廃止されたpubnubが必要ないコードが公開されてる!
→インストールするもwebsocket moduleがないよと言われる
→pipでとりあえずインスコ
→やっぱ無いらしい←いまここ
誰か助けてエロい人
「importに書いてあるそのmoduleがないよ」って、定義しろごらぁ!っていみ?単純にインストールされてないって意味?
>>340
全く使ったことないけど
pip install websocket-client
じゃダメなの? >>337
2つ目の質問に対して
gitでソースコードを持ってきて、モジュールをサブディレクトリごと持ってきて対象となるファイルと同じディレクトリにおいてインポートする >>338
pillow は画像処理のためのライブラリで合ってます?
申し訳ないのですが、文字を出力するのならともかく入力するのに対してどのように活用すればよいのでしょうか……
>>342
ありがとうございます
確かにその方法で行けそうですね >>343
> pillow は画像処理のためのライブラリで合ってます?
> 申し訳ないのですが、文字を出力するのならともかく入力するのに対してどのように活用すればよいのでしょうか……
文字画像をnumpy array形式で取得すればpygame側で取り込める すまんなんかpipが使えなくなっちゃったんだが
アップデートしたのが原因らしく再インストールしようとしたらそれもpipのコマンドでやれと書いてあるけどそれも出来ないからどうにもならん
>>345
OSは?
おそらく
pip install pip
を実行して動かなくなりましたとかそんなんだと思うけど、まずはエラーを貼ろう SLLErrorがpython3.6.5でも出てる方いますか?
>>345
モジュールとしてpipを呼び出してもいけない?
python -m pip uninstall pip
>>348
SSLErrorのことかな
最近は出たことないけどもし出てるようなら
pip install -U certifi
して、それでも出るようなら環境変数
REQUESTS_CA_BUNDLE
がどこかでセットされているかも tkinterの
プログレスバーとLabelなどの他の要素を同時に表示し
classを使わない、日本語で書かれたサンプルプログラムを
検索しても、誰も公表してないのは、
何かのイヤガラセかと思ったわ。
>>350
なら貴方が調べてまとめればアクセス稼げるし皆んな助かる >>181〜からの流れ見て自分も5chに書き込むスクリプト作ってみようと思って何とかできたけどすぐに連投規制になっちゃうわ
普段みたいにCookie削除して別の値を取得すれば書き込めるんだろうけどそのへんググってもよくわからない anaconda 2019.03/Windows x64 Graphical インストーラからインストールしたのですが、anaconda navigator を起動できません
環境
OS Windows7-64bit
発生エラー
Navigator Error
An unexpected error occurred on Navigator start-up
Report
Please report this issue in the anaconda issue tracker
Main Error
'root_prefix'
Traceback
Traceback (most recent call last):
略
File "C:\Users\x\Anaconda3\lib\site-packages\anaconda_navigator\api\conda_api.py", line 350, in __init__
self.set_conda_prefix(info=get_conda_info())
File "C:\Users\x\Anaconda3\lib\site-packages\anaconda_navigator\api\conda_api.py", line 505, in set_conda_prefix
self.ROOT_PREFIX = info['root_prefix']
KeyError: 'root_prefix'
アナコンの事はよくわからんが、多分パスであろうroot_prefixとやらをconfigファイルか環境変数かに入れれば良いんじゃないの
ソースを読め
アナコンダはマザーオブオールトラブルズ。
まあwindowsならしょうがないか
>>355-356
コメントありがとうございます。そしてお騒がせいたしました
最終的には、起動できなかった理由はわかりませんでしたが、archive をみて過去のバージョンにさかのぼりながらインストール・アンインストールを繰り返しているうちに、ある時点(私の場合は ver.4.4/pyhon3 の時点)から起動できるようになりました。
ver4.4 からまたもとに戻るのは大変でしたが、最終的に最新バージョンまで起動することを確認しました
無事に python 3.7 が入りしんどかったけど満足です >>339
返信遅れましたがありがとうございます
確認したらやりたい事はMediatorパターンで解決出来そうです matplotlibで作ったグラフを自動的に、データ読み込み先のエクセルファイルへ貼付けってどうしたらできますか?
1.出来るか出来ないかで言えば出来る
2.お前には教えない
3.普通の頭ならそんな無駄なことはしない
>>359 savefigして画像ファイルを張り付ければよいだけだろ。
Excelの操作だと挿入画像。 condaのコミュニティと
pipのコミュニティが分断されているのが痛い
>>359
あまりオススメはしないが一応
import matplotlib.pyplot as plt
import openpyxl
imagefile = 'test.png'
x = [1, 2, 3]
y = [4, 5, 6]
plt.scatter(x, y, marker='o')
plt.savefig(imagefile)
book = openpyxl.Workbook()
sheet = book.active
sheet.title = 'Matplotlib Test'
img = openpyxl.drawing.image.Image(imagefile)
sheet.add_image(img, anchor='A1')
book.save('test.xlsx')
前半は単にグラフ作ってpngで保存
後半が作ったpngをExcelに貼る部分
実行にはpillowとopenpyxlのインストールが必要 >>363
やはり考えが邪道なんですね。。
このクソ素人にお時間割いていただき、ありがとうございますm(__)m エクセルに描かせた方が、キレイに出力できるんじゃない?
プリンタって400dpiとかだよね?
グラフ関係はPythonの方がいろいろできるからだろ。 良いじゃないか。 excel に張り付ける必要がるのかどうかは知らないが。
配列ソートしたあとに近い値を除きたいんだけど何かよい関数ないですか?
[10,50,120,200]
[11,49,121,201]いらない
[100,200,150,221]
[102,198,151,222]いらない
[519,5,600,50]
[520,4,603,51]いらない
「近い」の正確な定義をしてくれないと何がしたいのかわからない
>>370
1.ソートされている
2.隣あう値がある値より小さい場合を近いと定義する
3.抽出するのは必ず小さい方とする
という条件をつけて良いなら、隣通しの差分を取ってある値以下のみ表示するようにマスクする
import numpy as np
x = np.array([10,11,49,50,120,121,200,201])
mask = np.append(True, ~(np.diff(x)<3))
print(x[mask]) クラス設計の学び方とかってどんなものがあるんでしょうか
個人開発の為オブジェクト指向を使わないといけないという訳ではありませんが意識しないと使えないと思いオブジェクト指向で書いてみてます
基本的な部分や多少デザインパターンを理解してますが実際に使うとクラス間の調整などで混乱してしまいます(設計の考慮不足?)
>>378
UML使ってる?
設計段階て使わないと混乱しない? 簡単なゲームとかでいいんじゃない?
というか、デザインパターンを本当に理解できてるかが結構疑問だけど
>>324
クラスはツッコミきてるけど、前半はすごくわかりやすかった linuxでopt以下にインストールしたpythonのアンインストールの仕方がわからない件
WindowsでPythonはじめてみてよく分からずに3.7.3-32bit入れててTensorFlow入らなく
3.6.8-32bit入れても入らなく、3.7.3-64bit入れてやっと動くようになった
いらないバージョンはフォルダ消しただけなんだけどアンインストールとかあったの?
windowsならアプリの管理ツールで削除出来るやろ
>>324
『オブジェクト』じゃなくて『インスタンス』じゃね?
俺はクラスの概念を情報科の大学に行った友人に尋ねたら、
「構造体のメンバーに関数を持てるやつだよ」と教えてもらい納得した30年前の思ひ出.... >>386
オブジェクトとインスタンスの違いを教えて下さい ちなみに世の中には3つの派閥があると考えています
1. 同じでいいじゃん派
2. クラスをインスタンス化するとオブジェクトだよ派
3. オブジェクトはインスタンスの総称だよ派
私は1ですので、あまりこだわりなく使っています
英語で考えれば一発だろ、クラスってのは分類のことだ
Destroyer Fubuki classなら吹雪級駆逐艦
インスタンスってのは実例のことだ
Tell me an instance of Fubukg classと言えばDestroyer Fubuki、つまり駆逐艦吹雪って答えが返ってくる
オブジェクトってのは抽象化されたモノのこと、Unknown Objectと言えばよくわからんけどなんか実体のあるモノって意味
ヒープやスタックと違ってクラスとインスタンスという実体非実体に擬した概念を導入したからオブジェクト指向という名称になった、そんだけよ
pythonもクラスも理解できてなくてこんな感じで使ってるけど
まとめて使える便利なものって認識であってる?使い方間違えてる?
class(self.a).func(self.img).save(filename)
インスタンスとオブジェクトの違いは英語でも意見が割れているので、二つの違いを英語の意味から明確にすることは難しいようです
ここはPythonスレなのでその視点から考えてみましょう
Pythonの用語でオブジェクトはint型やstr型でない複雑な型の代表として考えられます
クラスオブジェクト、インスタンスオブジェクト、関数オブジェクトという言葉があります
しかしオブジェクトオブジェクトという言葉はありません!
したがってPython的には>>386が正しく、正確にはインスタンスオブジェクトを作る、略してインスタンスを作るというべきでしょう 英語のドキュメント読んでも人それぞれだもんな
厳密に区別して語りたいときは最初に定義して、そうじゃなきゃ雰囲気で理解するわ
極論、同じ文章の中ですら統一されてなくても混乱しなきゃOKくらいの感覚
>>384
tensorflowは32ダメじゃないの? クラスはメタクラスのインスタンスオブジェクトなんだぜ
クラスは型紙・設計図で、単なるルール・規定。
実体はない
インスタンスは、クラスを基にして作った実体
Database では、クラスは表・テーブルで、インスタンスは各レコード
ただし、各インスタンスの事を、各オブジェクトと言う人もいる。
インスタンスを特に意識しない場合には、オブジェクトを使うことが多い
オブジェクトの方が一般的な用語で、インスタンスは限定された用語です
クラスの扱いがよく分かってないんですが
以下のコードでself.create_socketなどと書いているところの「self.」は何を呼び出してる(?)んでしょうか
https://rinor.hatenablog.com/entry/2015/07/29/234600
多分、asyncore.dispatcherを呼び出しているんだと思いますが
クラス名の横にオブジェクト名(?)を書いたら、それがselfになるってことでしょうか?
全く訳が分かってないので、質問もわかりにくい感じになってしまってすみませんが
答えてくれると嬉しいです クラスもインスタンスも関数も例外もみんなオブジェクト
>>401
ありがとうございます
クラス名の横の()内にオブジェクト名が書かれてる場合は、継承しているということですね 構造体というデータ型から教えるとクラスをラクに使えるのではないか?
ほぼ全ての言語からstructが消え去ったのが混乱の元だ
もしかすると一部は構造体を教えた方がすんなりクラスに入れるんじゃないか?
作成したスクリプトを配布したいと思いpyinstallerを使用しています。
コード内で書いた日本語が文字化けてしまうのですがなにか良い方法は無いでしょうか
あるパッケージaのsetup.cfgの中のinstall_requiresに依存した別のパッケージbのバージョンが書かれてる
このパッケージaをpipでインストールすると、パッケージbのバージョンがsetup.cfgの指定より古い物がインストールされてしまう
この時、どうすればsetup.cfg通りのバージョンをインストール出来るんや
>>405
すいません自己解決しました、失礼しました openpyxlでグラフ作りたいんだが、1つのグラフに2つ以上の項目入れられないの?
グラフ1枚に折れ線1つっていらないんだが、そういう仕様なんか?
>>410
確かにその通りですね、正直スマートな解決法ではないですが…
pythonの2系、3系が共存している環境、python3のコードをexe化する際にpyinstallerを通常通り実行するとパスが優先される2系でexe化、3系コードを2系に変換している?為か出力部分で化けました
pyinstallerの2系を今後使う予定が無かったためpip UninstallしpyInstaller my_script.pyを実行し3系でexe化すると問題無く動きました >>412
職場がそれを許さない。。
みんなpandaに乗り換えたんか? pandas最低限は分かるけどちょと面倒そうな事すると俺の脳じゃ処理出来ない
pivotとかMultiIndexとか混乱しまくる
>>414
そうなんだよな。
結局はやることに応じて使い分けるのが良い。 スクレイピングで集めた画像が軒並み低画質なんてすけどこんなもんなんですか?
どこのサイトをどういうスクレイピングしてるのか次第だろそんなの
そうですね ごめんなさい
ライブドアを
gazo_elem = soup.select('div img')
if gazo_elem == []:
print('画像が見つかりません')
else:
gazo_url = '' + gazo_elem[0].get('src')
print('画像ダウンロード中{}...'.format(gazo_url))
res = requests.get(gazo_url)
res.raise_for_status()
image_file = open(os.path.join('hiyo',os.path.basename(gazo_url)),'wb')
for chunk in res.iter_content(100000):
image_file.write(chunk)
time.sleep(3)
image_file.close()
prev_link = soup.select('a[rel="next"]')[0]
url = '' + prev_link.get('href')
で画像保存してたのですが画質が悪くて困っています
改善策をお教え願いたいです
なんでインデント揃ってる上にあげてんだ、、ごめんなさい
>>419 画像サイズが大きいのだけ選んで集めれば良いじゃん。 少ないけど物によってはそれなりにはあるよ。 >>421
画像集め好きなので欲張りなんですよね
多分手動は画像を新しいタブで開いてフルスクリーンで取ってるから綺麗だと思うんですけど、それをプログラムに反映できる腕がないです リクエストヘッダが原因の可能性あるかもよ
ブラウザと同じにすれば
漏れは、Ruby, Nokogiri, Selenium Webdriver でブラウザを自動操作してるけど、
driver.manage.window.maximize で、画面最大にしてる
scikit-learnに入ってるデータセットって、
2次元の説明変数と1次元の目的変数が入っているけど、
目的変数を説明変数の一列目に挿入して、
一つの2次元配列にするにはどうやったら良いですか?
>>426
numpyの機能でtransposeってのがある >>426
y=np.expand_dims(y, 0)
X=np.concatenate((X,y)) 2行目訂正
np.concatenate((y,X),axis=1)
>>423
ダメでした
ちなみに同じ画像比較でスクレイピングで取った画像が300x225の72dpi
手動が640x480の96dpiです その2つのサイズの画像は、同じファイル名なのか?
もし同じなら、ブラウザの大きさによって、サーバーで処理を変えているから、
>>424
のように、ブラウザの大きさを最大にする
異なるなら、異なるファイル名を指定すれば? それか、HTTP ヘッダーで、ブラウザの大きさを指定して、送る事ができるないのか?
そういう項目があるかどうか、知らないけど
スクレイピングした方はファイル名の最後に-sって付いてる物と付いてない物があります
付いてない方は手動で取ったやつと同じファイル名になってますね
HTTPヘッダとかは私も初心者なので色々調べてます
ファイル名を調べて、末尾に、-s が付いていれば、それを除去すれば?
例えば、abc-s なら、abc でダウンロードする
>>434 -sが消えただけで表示サイズ容量共に変わりませんでした、、
s無しで保存されてる画像は元のサイトで右クリックすると新しいタブで開くってのが出ないのでそれで完全、s有りは新しいタブで開くって選択肢があるので縮小版っぽい? 色々試してファイル名じゃなくて見つけた画像のurlから-sを抜くといいかもとおもったんですが
>>419をどういじればいいかわからないです
gazo_url = '' + gazo_elem[0].get('src')
hoge = gazo_url.rsplit('-s')とかやりましたがダメでした 使ってるモジュールのパッケージがpython2.7までしか対応してないっぽいんですが
2020年になったらどうなってしまうんでしょう?
何だかんだ言ってまたサポート期限が延長されるんでしょうか?
最近のPythonコミュニティは強硬だから普通に切ると思う
で, なんてライブラリ?
あくまでもコミュニティのサポートが切れるだけで
OSディストリビューターとかは彼らの責任でサポートを続ける
だからRHEL(2024まで)とかCentOS(2024まで)とかUbuntu16.04 LTS(2021まで)に乗ってる奴を使えばよかろう
pipとかcondaで入れられなくなるんだろ
自分が使ってるパッケージは必ず
ローカルにもコピー作って
あとからオフラインで入れられるようにしとけ
>>436-437
str = ""
str.rstrip('-s')
後ろに拡張子が付いている場合は、rstrip じゃダメ!
文字列の末尾方向から、-s を探せば?
デバッグするか、あちこちに、print 文を埋め込んで、チェックしながら作っていけば?
それと書き込みを続けるなら、名前欄に、417 と入れてくれ >>443
お前は名前欄に、Rubyキチガイと入れてくれ python3 tkinter pyautoguiでマウス座標を取得して自動更新したい
x=pyautogui.position()
#ラベルを追加
label = tk.Label(root, text=x),label.place(x=0, y=0)
label.update()
更新できずに困ってます。どうすれば良いでしょうか?
マルチポストってそんなに悪いことか?
インターネット黎明期に流行ったネチケットに脳死で固執する奴今だにいるよな
マルチポストは悪い
ただしnntpではマルチポストの代案としてクロスポストが用意されていた
しかしマルチポスト以外の手段が提供されていない2ch/5chはさらに悪質
古臭い慣習みたいに書いてるけど、マルチポストが許容されるコミュニティなんて未だに見たことない
>>451
いまどきの若者はインターネットで調べて、答えが得られなかったら次々と調べる先を変える世代だから、マルチポストの悪質さは理解できないと思うよ
同じ内容の質問回答が拡散しないように、なんてインターネットの現状からして意味のない状態になってしまった せっかく時間をかけて答えたのに、他スレでは昨晩のうちに回答がされていた、とかだったら腹立つだろ
他の回答の不備が指摘されることなどがあるのに分散してたら集積しない。
最終的にまとまる知見の質が落ちる。
root.bind('<Motion>', motion)
最近は頭の可笑しい人が多いですね
こんな場末の掲示板にも知見の質なんてあるのか・・・
今どきの若者は、みんなが二股、三股状態だから、気にしないんだぞ
モラルハザードここに極まれり
>>457
ユーザーが分散したら最初の回答を得る確率が減って知見が溜まらないとも言える
トレードオフの問題だからどっちがいい悪いではないと思うがね
全サービスでポストを同期すれば解決するのだろうけど 企業の知財戦略は、知恵の共有・集約!
知恵を分散させたら、意味がない。
開発部の常識だろ
>>452
現状がそうなってしまっているからと言って、回答する側にとって迷惑であることには変わらないからなあ。 せめてマルチポストをして、どこかで最初の回答が得られたら、それをすべてのポスト先に報告してお礼をすべきだよ。
無駄な努力を継続させるなんて許せない。
>>458
ガイジでも自覚くらいはあるんだな
今後は生ゴミを育てる覚悟をしてるだろうママだけ喋っとけよ 皆さんの知能と知識が余りにも低い為
自分でggりました。どこから答えを出したか?
英語でggったら、どうですか?
知るか
生ゴミは新海面に埋まってるかコンポストに詰まって微生物に分解されてろ
どうして君は猿見たいに興奮しやすいの?
考えるより感じちゃうの?
小学生みたいだねw
pipというもののバージョンを確認したいのですが、pythonコンソールに以下を売っても以下のエラーになります
>>> $ pip -v
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'pip' is not defined
どこが駄目ですか?
pythonコンソールからじゃなくて端末[コマンドライン]から打ち込む方が良いかな
pythonの方が俺より賢いからなw
やる事ないにゃ
pipはコマンドプロンプトで使うんですか?
pythonのコンソールではないのですか?
pipってのはインストール場所とかきにしなくていいのですか?
グローバルでいいのですか?
pythonのIDEコンソールから抜けずに
shellのコマンド実行するのってどうやるんだっけ
requestsでエロ画像を収集しようとおもってるんですが、とあるエロサイト
import requests
response = requests.get('http://えろ/')
print(response.text)
だと結果がnoneになります
対策ありますか? >>481
1. あなたがIDEと呼んでいるゴミをアンインストールします
2. VSCodeをインストールします
3. Integrated Terminalを開きます
4. (゚д゚) >>481
Ruby では、プログラム内から、コマンドを呼ぶには、`〜` で囲む。
`pwd`
他にも、system, IO.popen など `〜`は失敗、過去の汚物(Ruby自身がそうだがw)
コミュニティも作者のまつもともそういう考えで、削除したいのだが…
互換性の問題でできないwww
と、どうせ互換性なんてないくせに自らの無能を苦しい言い訳wwwww
https://logmi.jp/tech/articles/321308
それから「Backquotes」の地上げも考えていたんですけども、Backquotesをするとシェルで実行して結果を文字列で返すってやつですね。
(参加者から「いける、いける」の声)
まつもと:なんかあの辺で「いける、いける」って言ってる人がいますけど、信じない(笑)。なので、これももうちょっと先で、もう1回くるかもしれませんが、少なくとも3.0では死なないということです。 Pythonが2→3でやったような大手術に耐える体力がもうRubyに残されていないということを理解している点だけは評価できる
質問です。
from pyquery import PyQuery as pq
d = pq(filename='index.html') # type(d): <class 'pyquery.pyquery.PyQuery'>
print(d('h1'))
上記のdはPyQuery クラスのインスタンスかと思いますが
3行目のd('h1')は文法的に何をしているのでしょうか?(メソッドの呼び出し?インデクサ?dは関数ポインタ?)
どんなキーワードでググれば解説が出てきますでしょうか?
>489
項目番号でいいますとどれが該当しますでしょうか?
>490
処理内容的にはその通りです。
pythonの文法的によくわからなかったので質問しました。
p d('h1')
Ruby なら、p を付ければ、オブジェクトの型も表示されるけど、
Python には、そういうデバッグ用の関数はないのか?
>>491
ちょうどリンクで貼ってるところ
>3.3.6. 呼び出し可能オブジェクトをエミュレートする >>417あれから色々試しましたが忌々しい-sを画像urlから抜いて保存できません
サーバー相手なので下手に弄るのも怖いです
なにとぞまたお知恵お貸し願えませんか? Ruby の説明で悪いけど、これをPython で書き直してください!
文字列を左側・前方から探すのが、index で、右側・後方から探すのが、rindex
この場合、右側から、-s を探すと、23・24 文字目に見つかる。
その位置へ、空文字列を代入して、-s を削除する
str = ""
p str.index( "-s" ), str.rindex( "-s" )
#=> [20, 23]
str[23..24] = ""
p str
#=> "" >>497
str = ""
print( str.index( "-s" ), str.rindex( "-s" ) )
#=> 20 23
str = str[:23]+''+str[25:]
print( str )
#=> >>498 最後の部分は
str[23:25].replace('-s','')
とも書けるが、出題からは少しずれるかな? replace を使うなら、このケースの場合は
str = str.replace(‘-s.’,’.’)
だな。
>>502 本来そうなんだけど、ルビー使いの例文がそうなってるから仕方ない。
>>498 これは前の方で画像を取り込むのが小さいから -s を取って大きな画像を取得したいと言ってた人だよね。
本当にPythonで書くなら、strなんて変数を使ってはいけない。
また、index はないときにエラーを吐くから、エラーを出したくなければ find,rfind を使う。
replace 一発の方が良いと思う。 dataframe.plotでsubplotで4段重ねのグラフ書きたいのですが、各y軸にラベル入れる方法がわかりません。
スクショから特定の画像(ワンポイント)から、縮小された画像(スクショ内のワンポイント画像)を見つけだすライブラリ
教えて下さい
>494,495
ご回答ありがとうございます。
読んでみます。
>>497>>498>>501
ありがとうございます!出来ました!
何度も相手方のサーバーにアクセスしてたので心持ちタイムスリープの秒数も増やしました
本当感謝 python.exeを起動したあと、.pyファイルを起動したいのですが、どうしたらよいでしょうか?
超初級かと思われますが、ご教授ください。
>>506
fig,ax = plt.subplots(4,1)
df.plot(ax=ax[0],...
の後で
ax[0].set_ylabel('y dayo')
とする
これを後3回繰り返す 使わなくても作れるんだから使って作れない理由などない
DL 用の thread と UI の thread を分けて通信が定番
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる
@ スマホでたいむばんくを入手
A 会員登録を済ませる
B マイページへ移動する
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)
今なら更に4日18時までの登録で2倍の600円の紹介金を入手
クオカードとすかいらーく優待券を両方ゲットできます。
数分で出来ますのでお試し下さい Sympyでの計算結果が以下のような値だった場合
a = -0.166666666666667 - 0.552770798392567*I
計算結果が虚部を持つかどうかの判別ってどうするのが良いですか
文字列型に変換した後に、文字列検索でIを持つかどうかで判別するよりも良い方法はありますか?
I部が限りなく0に近い(0ではない)ときにどっちと判断するんだろうな
リーマンもびっくり
from sympy import *
str = "Abs(a)*(β-α)**3/6"
print(sympify(str))
↑のように、sympifyを実行すると、↓みたいに式の順序が入れ替わってしまうのですが
これは避けられない仕様ですか?
(-α + β)**3*Abs(a)/6
>>523 式の最適化をするためでしょ。 この場合、a の取り出しを1度に済ませたいんでしょうね。 Anaconda を別ドライブにインストールしようとして四苦八苦してたがようやくできた。
1. 全員で使う。
2. システムパス変数に設定する。
この2つをインストールの時に指定するだけで行けた。
1. 自分だけで使うとすると、C:\Users\俺\ の下にインストールされる。
全員で使うとすると C:\ProgramData\ の下にインストールされる。
2. システムパス設定をしないと、 D:\ProgramData\ 等にインストールすると、システムメニューに Anaconda3が出てこない。
パス設定を指定するとすべてうまく行った。 パスを見てみたけど実行パスが追加されてるだけだから混乱しないと思うけどね。
嫌ならインストールの後で実行パスを消せばよい。
>>525 その後。Anacondaの中のExtentions からcreate で D:\conda\envs\py37 と言うディレクトリにPython3.7の環境を指定したら必要ファイルがそこにコピーされたから
以降はすべてそこにライブラリは追加していくつもり。 >>526 Jupyter Notebookが使いたかったから。 Minicondaの方が良いという話もあるけどとりあえずAnaconda
勿論Jupyter Notebook も単独インストールで使えるけど、Anacondaの方がライブラリ管理などが楽そうだから。
ただ非力なマシンだと立ち上げが遅いね。 Core i7だとサクサク。 とりあえずJupyter使いたいんだったらColaboratoryにしとけ
自作クラスpickleしてあとで他のスクリプトで利用しようと思ったら
os.scandir()で取ってきたnt.direntryってpickle化できないんだな
ファック
画像の中から特定の画像(拡大や縮小をされてても対応可能な)
見つけ出すコードを下さい。
6個のうちfor文でリストにして3個だけ抽出。
['A', 'B', 'C']
['A', 'B', 'D']
['A', 'B', 'E']
['A', 'B', 'F']
['A', 'C', 'D']
['A', 'C', 'E']
['A', 'C', 'F']
['A', 'D', 'E']
['A', 'D', 'F']
['A', 'E', 'F']
['B', 'C', 'D']
['B', 'C', 'E']
['B', 'C', 'F']
['B', 'D', 'E']
['B', 'D', 'F']
['B', 'E', 'F']
['C', 'D', 'E']
['C', 'D', 'F']
['C', 'E', 'F']
['D', 'E', 'F']
これを、ランダムでシャッフルする方法ありませんか?
例えば一番上のABCが5番目に来たり最後に来たり、、、
教えて君でスマソ
「6個のうちfor文でリストにして3個だけ抽出」とか言ってるけど、単に高校数学の組み合わせとか順列だから
まずそれを全部生成してリストに入れて、そのリストをシャッフルする
そこまで手で書く暇あったらあとはリスト化してシャッフルするだけだろ
>>534
import random
random.sample(list, 3)
を教えて欲しいんだろ。(重複なし) >>536
import itertools
seq=('a', 'b', 'c', 'd', 'e','f')
l=list(itertools.permutations(seq, 3))
import random
print(random.sample(l, 3)) Ruby で作った
( "A".."F" ).to_a.combination( 3 ).to_a.sample( 3 )
#=> [["B", "C", "E"], ["A", "C", "D"], ["A", "B", "C"]]
OSによる
windowsならGetDCで行けるかも知れないが
隠れてるウィンドウの中が常に意図した通りに描画されてるとは限らない
ついでにお聞きするんですが、出力したリストはstripやsplit が使えないんですが、
皆様はこれらを使いたいときにどうされるんですか?
>>542
Windowsです
意図した通りじゃなくとも後ろにあるものが写るコードが欲しいです、少しでも進みたい
後なぜか>>541のコードでは一度実行すると再度別なウィンドウ状況で実行してもキャッシュが残ってるように同じ画像が表示されてしまいます
DeleteDCとかReleaseDCが効いてないような感じです ずっと裏にあったら更新されてなくても不思議ではない
>>545
いや、そういう意味ではなく前面も変わってるのに前に撮ったものが出てきてしまうという意味です
今ちょっと試してなかったことがあったので確認したところ、その撮りたいものじゃないプログラムだとちゃんと後ろにあっても出てきました
ただしソフトによっては正しく映らず欠けてたり変に前面のものが透過されたりしてます
撮りたい画面がゲームの画面なんですが、UnrealEngineでフルスクリーン起動してるのが関係してそうですね… from xml.dom.minidom import Document, Text
self.dom = Document()
↑こんな感じのコードを見かけたんですが、このコードってどんなことをやってる感じですか?
変数の型を定義してるだけみたいな感じですか?
>>546
ゲームなら DirectX の frame buffer を横取りして保存する hook 書く方が早くね そう言えば
スクショ撮る時に別ウィンドが表に出て撮れない現象が有ったな。
こっちは重なってても裏に隠れててもbitbltでちゃんと取れてるからなにが違うのか分からないな〜
classにしてるのとDeleteCD、DeleteObjectを__del__に入れてるくらいしか違いない気が
['a', 'a', 'a', 'b', 'b', 'c']
これを一発で{'a':3, 'b':2, 'c':1}にしてくれる関数ありますか?
>>549
どうやるのですか?全く見当が付いてないです
>>551
ゲーム画面をですか?
そもそも裏にあるウィンドウの特定箇所の色が見たいときはスクショ撮るしかないってのは合ってますかね?なんかもっと便利なものないのかな 人間にとって便利にすると機械さんにとって便利じゃねーんだよなー(遅くなる)
もう1枚ディスプレイ買ってきたら別にスクショせんでもいいんじゃないかな(鼻クソほじりながら)
DirectXに関してはごめんなさい、調べても私の今の知識ではちんぷんかんぷんでした
既にマルチモニターです、ゲームの特定箇所の色が変わったら動く実装で現在動かしてるんですが
メインモニタでゲームするのでたまに上に被せて何かするときがあって、そういうときでも色を検出できたらと思ってここ最近色々やってるけどうまく行きません
現在上に何も被ってなければ動いてるコードではpyautogui.screenshot()してから.getpixel()で場所指定してやってます
そのゲームのプロセスID か何かを取得して、
OS・ディスプレイマネージャーに対して、
そのゲームを最前面に表示するように、命令できないの?
ウィンドウのdcとるかデスクトップのdcとるかで挙動変わるよ
ウィンドウのなら裏でもとれる
デスクトップのdcなら合成後のだからオーバーレイとかもとれた気がする
あとaeroでも変わった気がする
ちょっとうろ覚え
>>560
出来ますが、それだとやりたいことが実現できないので…
>>561
GetWindowDC、GetDC両方試してみましたが同じでした
というか他のウィンドウでは撮れるので、目的のウィンドウでは前回撮ったものが残り続けてしまう部分が問題なような気がしてきました
これはゲームだけじゃなくSteam.exeの画面でもなりました
一度撮ると、Steam内のページを遷移して(例えばストアからライブラリ)二度目を撮っても
一度目のストアのスクショが出てきます
>>541の下のURLのコードと使用例をそのままコピペしたもので、ウィンドウ指定部分を"Steam"にして実行しました
例えば"Jane"とすると5chを見てるJaneStyleがちゃんと撮れるし、スクロールしてもう一度撮るとちゃんとスクショもスクロールされたものになってました
やっぱりそのDirectXが関係してるんでしょうか ネットワークのゲームで不正しようとしてるんなら
画面上の点滅とかで判定するより
ネットのトラフィック監視して送受信データから判定するか
いっそのこと最初からフェイクデータ流してしまう方が楽
>>562
invalidaterectで更新できないのかな
あとキャプチャしてどうこうする方針ならpythonっていうかWindows apiの話だからそっちのがいいかもね 多重リストの連番を作りたいが失敗します
N=0
L=[[ N+=1 for x in range(1,6)] for y in range(1,6)]
N+=1ができないのですが
どうしたら良いですか
作りたいものがよくわからないのだがとりあえずそこにN+=1という式を置くことはできない
欲しいものがわかれば適切な内包表記を示せると思うが
N=0
[[N+x for x in range(1,6)] for _ in range(1,6)]
ではダメかね
それか
[[1,2,3,4,5],[6,7,8,9,10]...]
というのなら
[[x + 5*y for x in range(1,6)] for y in range(1,6)]
でいける
できました。
ありがとうございました。┌(_Д_┌ )┐
>>570 何をしたかったんだよ。 そしてどう解決したんだよ。
質問したら結果を見せて礼を言うのは礼儀だろ。 l=[list(range(26)[i:i+5]) for i in range(1,26,5)]
おっ
おっ
乙 ┌(_Д_┌ )┐ c(`Д´と⌒c)つ彡 ヤダヤダ
__class__.__name__
ではインスタンスのクラス名を取得できるみたいですが
__class__.__mro__
のMROって何ですか?
>>574
ありがとうございます。ということは
for n in a.__class__.__mro__:
という文があった場合、継承しているクラスをメソッド解決順序というルールにしたがって
順番に取り出してループを回しているという感じですか? Tkinterでウィンドウ作るときに変数をrootで作成しているのがほとんどですが、この変数はwindowとかでもおかしくはないですよね?
rootがよく使われているのは何故でしょうか?
>>87
UiPath使い続けてるけどぐぐっても情報が少なすぎて厳しいです
Yahooを開き、ニュースのところのもっと詳しくをクリックし、本日分のニュース約100件をクリックして
順番に保存しようとしているのですが、
UiPathの解説サイト(といっても日本語であるのは公式サイトとYoutube動画1枚だけですが)
に書かれてるのは最初から決まったページにある表の抽出とCSV出力メール送信だけです
動的にテキストが変わる指定したページの、このあたりにあるリンクをクリックしてテキストと画像を保存する
とかちょっと応用する方法の解説がどこにもさっぱりありませんでした。
公式Academyは古いバージョンのUiPath使ってるみたいで基礎編の変数あたりから左画面でまともに選べなくなってしまいます。
どこか公式以外の詳しい解説サイトご存知ありませんか? 「setup.pyをPythonで実行する」という操作はsetup.pyをPythonの画面にドラッグ&ドロップしてエンターキーを押せばOK、ではないですよね
どうすればいいですか?
コマンドラインから、
python setup.py
>>583
Pythonのコマンドラインに「python setup.py」と打ち込んでエンターキーを押すだけですか?
どこのフォルダにあるsetup.pyか指定するようなコードは必要? 実行したいsetup.pyがあるディレクトリで実行せよ
そこまで教えてもらったら普通は自分で色々試すだろうに
何をしてもSyntax errorになるのでPython諦めます
回答してくれてありがとう
>>587 何? どこまで、〇〇なんだよ。
もしかして、Pythonを起動した後のコンソール画面で入力していないか?
# python # ここがコマンドライン
>>>#ここには, Python言語を入れる。 ここはダメだぞ。ここはコンソールだからダメだよ。
# python setup.py だよ。
# python c:\hoge\hage\setup.py かも知れないけど。 そもそもそんな知識なのにどうしてsetup.py なんて動かす羽目になってるんだ?
そんな素人が一々入力する必要はないはずだけど。
OS は何? Windows?
Python はどうやってインストールした? anaconda?
今何をやりたいの?
現在、djangoをさわってるんだけど、標準であるUserクラスの中で、_usernameってusernameの項目が書かれてるのが不思議なんだけど、
これってsetting.pyで日本語設定にしたら、項目名が日本国に変わるのかな(サーバ起動してwebで確認した時)?
>>590
日本国じゃなくて日本語だ。
うち間違いです。 ファイル操作でロック?って標準ライブラリじゃ出来ない?
調べたらライブラリ入れろーて出てきたけど標準で出来てもおかしくないんじゃないと思ってる
わざわざfcntlとかいうライブラリ入れるのがオーソドックスなのかな
>>592 ファイルロック/データロックってどんなものかわかってるの?
言語の問題じゃなくて、動いている環境のOSの問題だよ。
言語でどうこうできる話じゃないんだから、環境に合わせて対応する必要があるだろ。
ルール違反するプログラムがあればロックなんて意味を持たないし。
python の中だけのルールを作ったってなんの意味もない。 それいったら、ファイル開く自体、OSに依存するけどな。
>>594 ファイルを開くのはOSに依存しなくても開ける。
ロックは赤の他人がいるから自分だけではどうしようもない話。 > ファイルを開くのはOSに依存しなくても開ける。
ファイルシステムを持たないOSもあると言うのにこいつは何を言ってるんだろう…
a = "hoge"
print(str(a) + "aa")
print(a + "aa")
a = "hoge"
print(format(a) + "aa")
print(a + "aa")
formatとstr関数の必要性がよくわかりません
結果は同じです
なんでしょうか
誰がそんな書き方しろっつったんだよ
そいつに聞け
その使い方なら必要性は全くない
例えばリストをカッコ込みで文字として出力する必要がある場合などに使う感じですかね
それ以外よくわからないですが
動的に変数値を変化させるときに必要なんですか?
seleniumでスクレイピングする時、ウェブが表示されるまで待機するコードは必要ないの?
今のところ表示が遅くても問題なく処理できてる
format面倒だから使わなくなった
f''
が便利
pythonのrequests使ってPOSTするプログラム作ろうとしているのですが、
param={a:"aaa",b:"bb"}みたいなパラメータではなく下のようなパラメータ(フォームデータ?)を送信させたいです
どういう書き方をすればいいのでしょうか
教えてくださいお願いします
------WebKitFormBoundaryC15BKaGNEiNN0Evx
Content-Disposition: form-data; name="files"; filename="a.txt"
Content-Type: text/plain
AA
------WebKitFormBoundaryC15BKaGNEiNN0Evx
Content-Disposition: form-data; name="files"; filename="b.txt"
Content-Type: text/plain
BB
------WebKitFormBoundaryC15BKaGNEiNN0Evx--
すみません
import MIMEができません
pip install MIMEしたんですが、いざimport MIMEしようとするとno module named MIMEってえらります
また、import MIMEしたところでどうすればいいのかわからないです
もう少しだけ詳しく教えてください
import MIMEする以外の方法も募集しています
>>602
HTMLを読むまで待つらしい。javascriptはその限りじゃないみたい。 >>602
漏れは、Ruby だけど、要素の検索の timeout を設定してる
今のところ、5ch みたいに、空のHTML を送ってきて、
その後、Ajax で内容を取得するページでも、要素を取得できている
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 30 # 要素の検索の timeout うざいから ruby を、NG ワードに登録した。 こうやって世間から弾き飛ばされていくんだろうな。
自業自得。
pythonダウンロードしたらnewszone.proとかいうウィルスも入ってきて最悪
>>609
おおありがとう
色々調べてわからなかったものがすっきりした 最近(といっても数年以上前からだけど)のダウンロードサイトって
本物と見せかけて無関係なあやしいexe落とさせるダウンロードボタン付いてるよな
かなり増えたわ
>>617 かなり注意して全体を見渡さないとくだらない有料アプリをダウンロードさせられたりする。 一度変なのダウンロードして、何かの宣伝のポップアップが出るようになって、削除するのに苦労したわ。
>>618
sourceforgeなんか、ダウンロードできるexeそのものを公開者に無断で置き換えてたじゃん。 > 最近(といっても数年以上前からだけど)のダウンロードサイトって
> 本物と見せかけて無関係なあやしいexe落とさせるダウンロードボタン付いてるよな
> かなり増えたわ
↓
> sourceforgeなんか、ダウンロードできるexeそのものを公開者に無断で置き換えてたじゃん。
頭湧いてるなw
俺みたいな中3でグロ見てる腐れ野郎、他に、いますかっていねーか、はは
今日のクラスの会話
あの流行りの曲かっこいい とか あの服ほしい とか
ま、それが普通ですわな
かたや俺は電子の砂漠で死体を見て、呟くんすわ
it’a true wolrd.狂ってる?それ、誉め言葉ね。
好きな音楽 eminem
尊敬する人間 アドルフ・ヒトラー(虐殺行為はNO)
なんつってる間に4時っすよ(笑) あ〜あ、義務教育の辛いとこね、これ
みんなどうやってレベルアップしてったんだ?
副業サイトでプログラミングのやつ応募しようと思ったが、実無経験無しにはハードル高そう。
このギャップどう埋めたらええんやろ?
まずは転職して実務経験を積め
それが一番手っ取り早い
FizzBuzzが書けたら採用されるレベルの会社は世の中にいくらでもある
>>627 フリーター/ 個人事業主か? だったら最初はコスト抜きに短期の簡単そうなのに参加すれば良いじゃないか。
結構マンパワーだけ求めてるようなのあるから そんなのを積み重ねていったら?
或いは条件なしでWebを作ってくれとか言うやつ。 これならいくらでもある。 それを勝手にPythonで作れば良いだけ。 注文主はできれば良いだけだからどう作ろうが気にしないのが多い。
単価は安いけど実績には使えるし、外から見れるホームページというのは実績のアピール力が大きいよ。
長期の派遣を厭わないのなら派遣業者に登録すれば、今時の事情を知らないから勝手なことを言ってるかもしれないけど。 >>630 >>627 そうとは言え、プログラマーには向き不向きがあるから今時そんな相談をするのはちと考えるかな。
何も知らないフリーターなら多分、普通のExcel が使えるとか、Excel VBAが出来ますという実績を積む方が早いかも。 これも仕事はたくさんあるが、、、単価は安い。
プログラマーというのはあらゆる知識、経験が必要だから、経験を重視するのは当然だが、必ずしも同じ言語経験を求めてるわけではなく、プログラマーとしての経験を求めてるんだよ。
考え方はほとんどみんな同じだから。
どの位運転資金があるのか知らないが、何も経験がない状態なら、派遣に入るのが手っ取り早いと思うよ。 そこでも経験を求めらるというのは当然だが、結構未経験でもOK なんてのもある。
特に若い時は蓄えもないだろうから、日銭が稼げるなら我慢すべき。 経験って具体的にどういう場面で使う類のもんなの?
どうコードを作って行くかとかの技術系なのかコミュニケーション能力系なのか
>>632
社会人としての一般的な基礎は当然として、経験によって身につく最も重要な技術的スキルは感覚や勘だ
エンジニアのくせに何を非論理的なことをと思うかもしれないが、実際、
既にコードをバリバリ書ける優秀な新卒でも、それが身に付いて仕事で使い物になるレベルに達するまでには一定の時間を要する
具体的には、コードを書いた人間の意図を汲むとか、人間がミスしやすいポイントを先読みするとか、周りの空気を読んだコードを書くとか
エスパー能力と言ってもいい import csv
with open(ファイル名,'r') as f:
r = csv.reader(f)
このrからfor分を使わず、1つ1つ値を取り出したい場合、どうすればいいのでしょうか?
YouTube のKENTA の動画を見れば?
他にも、未経験者からプロになった人の動画があるけど皆、Ruby
未経験者は、1年ぐらい、Ruby on Rails をやれば、仕事の流れがわかる。
おまけとして、CakePHP も、Rails のコピーだから出来るようになる
侍エンジニア塾では、独学で千時間掛かるのが、
マンツーマン指導で、300時間になるとか歌ってる。
授業料は、70万とか
無料のRails チュートリアルもあるけど、これを出来るのは、モサだけ!
Rails よりも前に、Sinatra をいじくり回すのが、お勧め!
Rubyはもうだめだよ
仕事を取れなくなった人らがメンターサイト等に集まって物乞いする状態になっとる
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
http://2chb.net/r/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。 スクレイピングしたらjava スクリプト?がねーよ的なエラー出るんだけどこれどうすれば良い?
偽装みたいなのでなんとかなる?
Python3で、ファイルの正規表現で示される範囲だけをreadしたいのですが、
よい方法はありますか
awkでいう/^aaa/,/^bbb/{〜}のようなことをしたく思ってます
>>641
awkやperlのような便利な方法はないかな
import reしてセコセコと書くしかない Python3のfor文内で、ループ内でカウンタに入れられるリストの要素を進める方法を探してます
for i in range(10):
print(str(i))
i+=1
print(str(i))
とすると出力が0、1、1、2、2、3、…となりますが、これはfor文実行時にすでにrange()の結果がリストに展開されているため、それが代入されているカウンタiをいじっても、次のループにiに入れられるリストの要素は制御できないため、と考えてます
(本当は0、1、2、3、…としたい)
そうではなく、次のforループにiに入れられるrange()のリストの要素を進める方法がないか知りたいです
とりあえず
while(i<10):
print(str(i))
i+=1
print(str(i))
i+=1
とすると、iが数値なら期待した動作をするのですが、文字列等の場合でも使える方法は無いでしょうか
リストに展開?
ジェネレータのままループごとにnextで取り出されてるだけでは?
iter = (range(10)).__iter__()
for i in iter:
print(str(i))
i = iter.__next__()
print(str(i))
iter = ("abcdef").__iter__()
for c in iter:
print(c)
c = iter.__next__()
print(c)
ごめん組み込み関数のiter上書きしちゃってたわw
it = iter(range(10))
for i in it:
print(str(i))
i = next(it)
print(str(i))
こうか。
すみません、
小数点以下3桁くらいの数字を、
比較演算子で条件付けようとしたら、
こんなエラーが出ました。
TypeError: '>' not supported between instances of 'str' and 'float'
型があっていないということでしょうか?
エラー出る時と出ない時があります、
型を、小数点3桁くらいの数字を比較するのに合わせるには、
どうしたらいいでしょうか。
>>651
対象の値をぜんぶ
if float(値1) > float(値2):
print(float(‘うんちぶりぶりっ’))
ってすれば出来んじゃね?しらんけど >>652
間違えた
最後のprint(‘うんちぶりりっ’)
これか >>652
ありがとうございます、
手当たり次第に、
float()でくくったらエラーでなくなった、
floatと、intは型が違うけど、
数字だから、比較演算子使えるのかなぁ float() > int()
こんなのは、
型が違っても可能?
>>655
基本的な部分がわかっていないんじゃない?
こういうことだよ。
>>> 10.5>10
True
>>> "10.5">10
TypeError: '>' not supported between instances of 'str' and 'int' >>656
そうですかぁ
文字列と数字を比べなければいいのかな。 >>657
エラーメッセージはちゃんと読みなよ。
外国人が何か分からないことを言ってる!で済ますのではなく。
ちゃんと理由を説明してくれてるのだから。 にほんごでしゃべってくれればわかるんですけどぉ〜
だってここにほんじゃないですかぁ〜
>>658
厳密なプログラミングなのに、
英語が不親切、
instancesて、例えばって意味ですよね、
それで、'str' and 'int'と書いてるから、
文字列型と、int型以外は使えないと勘違いする、
例えばだから、float型も使えるって書いてくれればいいのに。 pythonに限らず界隈でinstanceって言ったらオブジェクトのインスタンスじゃん
読めなくたってエラーメッセージでググれば日本語で解説してるサイトは幾らでもあるのにそれすらしないのはなあ
>>660
instanceの意味はちょっと取りにくいけど最近はコンピュータ用語としての意味を載せてたりする
http://sp.e-words.jp/w/インスタンス.html
取りあえず「実際の値」って思っときゃいい
要するに'str'と'int'は'>'で比較できないってこと
'int'と'float'も比較はできないんだけど'int'は必要に応じて'float'に変換してくれる >>661
Pythonに限ったらクラスもインスタンスもオブジェクトですね >>663
そうですかぁ
プログラミング初心者には奥が深すぎる。。。 そのエラーメッセージで検索するか、日本語に翻訳すればよい
>>661
どこの界隈だよ!
>>664
限んなよ!
クラスがオブジェクトな言語なんてそこらにあるわ >>647 あのさ、何がしたいのかはっきりとわからないけど、
これじゃダメ? enumerate は、カウンタと変数を取り扱える。 この場合は count がカウンター
for count , x in enumerate( 'ABC') :
……print(count,x)
‘’’
0 A
1 B
2 C
‘’’ >>657 そうですよ。 比べる時は型を合わせましょう。
Python に型がないわけじゃないです。
print( '10.5' > str( 10 ) )
True
print( '010.5' > str( 10 ) )
False
print( float('010.5') >10 )
True だってさ、何を比べたいのか解からなければ答えを出せないじゃん
Javascriptとかは多少行儀悪くても配慮してくれるから
"10.5" > 10
->true
"10.5" > 11
->false
ってなるけどpythonはstrを自動でintやfloatに変えたりみたいなことはしない
JavaScript は、型違いでもエラーにせず、正常に値を返すから、怖いで!
"10.5" > 10 // true
"10.5ab" > 10 // false
あれ?
なんで、false になった?
教えてください、
デスクトップに、MMというフォルダがあって、
そのなかに、.pyのプログラムたくさん入っているんですが、
その中の、main.pyを実行したいです。
アナコンダと、Pycharmとspyderはインストールされてるのですが、
Pycharmかspyderで実行するにはどうしたらいいですか?
MMフォルダは、デスクトップじゃなくて、
どこかに移したほうがいいでしょうか?
main.pyだけ、Pycharmやspyderに登録?みたいなことすればいいのかな?
それとも、フォルダごとどうにかするんでしょうか?
フォルダを、
Cドライブに移動して、
Pycharmでフォルダを開いて、main.pyを実行できました、
済みませんでした。
それで実行はできたのですが、
import xxx
とエラーが出てしまいました、
フォルダの中に、xxx.pycというのがあったのですが、
これをimportするのは、どうすればいいんだろ?
import sys
sys.path.append('.')
>>672 数字の文字列は数字に変換して比較できるけど、
ab とかいう文字列は数字に変換のしようがないんだから、常にFalse インスタンス参照しないクラス内のメソッドって推奨されないの?
prcharmがこれstaticメソッドじゃねてうるさいんだけどいちいち注意してくるてことはなんかそういう決まりごとあるのかなって
Pythonのデコレータは
@staticmethod
だった
Ruby で説明すると、
例えば、Math などのモジュール関数だろ。
sin, cos を求めるだけに、インスタンスは不要!
num = 0
Math.sin( num ) #=> 0.0
これがインスタンスから、呼び出すメソッドなら、こう書かないといけない!
これは面倒
num.sin
>>681
論点はそこじゃない。
Rubyバカは黙ってろ。 >>681
ゆっくり死んでいってるねwRubywww pythonで正規表現をしたいです。
文字列中にある\をすべて削除したいのですが、text.replace("\\","")とやっても消えていない部分があります。
\',\'のような文字列が残ってしまいます。
これらを消すにはどうしたらいいのでしょうか?
また、listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\という部分を削除したいときにはどのように指定すればいいのでしょうか
数字部分は動的です。
本当に困ってしまったのでどうかよろしくお願いします。
>>684 そのソースコードをどういうコンピュータで入力したか知らないけど、 \ には2種類のコードがあるの知ってる?
x5C と xA5
バックスラッシュ と円サイン。 どちらも表示させると \ になるから紛らわしい。
消したいのはバックスラッシュでしょ? >>684 エディタで置換をして自分の思った通りに置換できるかどうか確かめてみたら?
listname.mylist=83656873;gFilename.file=435;mylist=new list('\
と変換したいの? >>690
.extract()を付けてもダメでした >>684-688
\ はバックスラッシュで、
\n は、単に改行を表す、エスケープシーケンス
Ruby で説明すると、abc の後ろで改行されている!
123, xyz の後ろでは改行されない
p で内容を見ると、"〜" で囲まれているから、これは文字列であり、
789 の後ろに、改行コードがあることがわかる
print "123"
print "abc\nxyz"
p "789\n"
出力
123abc
xyz"789\n"
エディタの表示では改行されるが、文字列の内部表現では、\n となる。
\n は、単なる決め事であり「\ n」という2文字が、実際に存在するわけではない!
文字数も、\n で、1文字扱い。
p "\n".length #=> 1 日本の文化について質問したら韓国文化の説明が始まった。何でも日本文化は韓国のパクりなんだそうな。
>>689-691
これは、一番近い先祖のID からの、パスになっていない!
'//div[@class="tpcHeader_thumb"]/p/@src'
Chrome の開発者ツールで、右クリックメニューから、XPath, CSS Selector を取得すると、
//*[@id="tpcHeader"]/div[2]
#tpcHeader > div.tpcHeader_thumb
CSS Selector で、
#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img
XPath で、p の直下ではない!
p要素のsrc 属性だろ
Ruby で、selenium-webdriver, nokogiri で、作った
driver.navigate.to "https://news.yahoo.co.jp/pickup/6327568" # ニュース
doc = Nokogiri::HTML( driver.page_source )
# at_css で、該当する最初の1つだけを取得する
element = doc.at_css( "#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img" )
url = element.attr( "src" )
puts url #=> 画像のURL >>688
listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\
を消したいです
別に変換がしたいわけじゃないんですけど・・・
なんか変なこと言ってるから伝わってないんでしょうか・・・ というか、そもそもa='3745'のときにa.replace("\d*","A")とやっても置換されません
考えられる理由を教えてください
一体どこがおかしいのでしょうか
import reは当然してます。aはstrです。
考えられるって言うか
str.replaceは正規表現を受け付けない
import reすればstr.replaceで正規表現が使えるなんて誰から聞いたのか知らないけど
大人しくre.sub使ってください
あとねーこういう質問するときのテクニックとして
〜を消したいですとかじゃなくて
入力と欲しい出力を示す
例えば
入力文字列は "listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\"
で、出力として "listname.mylist=83656873;ngFilename.file=435;mylist=new list('"
を得たいです。とかね
>>696 全く伝わらないな、全体の文字を1文字残らず消したいと言う意味?
兎に角出力サンプルを出してくれ。 python2 からの移行はどんな具合ですか?
数年前は一部の強力なモジュールなどが 2 で
移行がしにくい状態だったと思いますが、
2 の公式サポートが あと1年程でおわるはずです
そろそろ全て移行のめどがついたころだと思っているのですが
今日日python2使ってるやつは無能かマゾか基本的人権が保証されていない環境で働いてる奴のどれか
すみません、
デスクトップの、helloフォルダに、
hello.pyがあって、
これを、コマンドプロンプトから実行したいのですが、
cd desktop\hello
これでフォルダまで行きましたが、
そのあと、python hello.py
とかいても、
SyntaxErrorとかがでていまいます、
どうやって書けばいいでしょうか?
>>703
hello.pyの内容が間違ってるんじゃね どれどれ
オジサンにハローどっとパイを見せてごらん
ヒヒヒ
>>704
ほんとだ!
間違ってた、無事に、Helloできました!
ありがとお >>699
たぶん質問者は、\n が1文字の改行コードを表すことを、知らないのだろう。
「\ n」の2文字だと考えているから、\ だけを消せると思っているのだろう
制御文字というのは、単なる決め事なんだよ。
\n は、1文字扱いで「\ n」の2文字に分割できない
\ n の個別の文字は存在しない。
\n という改行を表す、1文字しか存在しない!
そういうルール!
>>692
に書いておいた >>702
製品がサポートしてるpythonが2系
3系以降予定だけど一定期間は並行で動くから2で良いし…どうせ日本語ドキュメント出て来るのはもう少し後だし…
て経緯で一部2一部3でやってる
正直3のが書きやすいけど 色んなアプリに入っている「Pythonでスクリプト書けます」がまだ少なからずPython2だなあ
3が良いと思ったのは3.6からだな
3.5までのは書きにくい
>>709 その可能性が高いな。 \' みたいなのが削除できないとか言ってたし。
\’ の\はエスケープ文字だから、実態は ' 1文字になることを知らないのだろうね。
ソース上は \' と書いても、変数の中では \みたいなエスケープ文字はなくなってるから幾ら探したって見つかるわけがない。 tkinterで.afterで自分自身を呼び出し続ける関数を使ってるwindowを閉じると
invalid command name "2615371636680xxxx" while executing
"2615371636680xxxx" ("after" script)
のエラーが発生します。
tkinterのループを抜けた(windowを閉じた)後に関数を呼び出してるからなのですが
回避する方法わかる方いませんか?
2件ほど海外で困ってる人は見かけましたが…よくわかりません。
盛大に使い方を間違ってるように感じるので
おまえのソース貼れ
tkinterで、文字列の入力と編集が行えるテキストボックスへコードを使って文字を入れようとしました。
tkinter.Entry(root).insert(tkinter.END,"\a")と書くと、\aがテキストボックスに入るはずなのに、□のような文字化けした変な文字が入りました。
\aが正規表現か何かに判定されてしまったのでしょうか。
insertを使って\aをテキストボックスへ入れるにはどうしたらいいですか?
ちなみに、環境はwindows10で最新版のpython3です。
\aとか\bをinsertを使ってテキストボックスへ入れようとした場合だけ変な文字化けします。一方、\Aや\cや\zの文字列はinsertを使ってそのまま忠実にテキストボックスへ入ります。
これって何ですか?
\\aとすりゃーいい
\aは界隈ではアラームを示す
昔の汎用機やらタイプライターの横に付いてるベルがチーンと鳴ると思えばいい
レスありがとうございます。
print("\007")とかprint("\a")とかで実行するとpc環境によってはビープ音が鳴る仕様みたいですね。
>>725
いくら未経験OKの現場でも、このスレでそんなこと質問しているような奴は使いたくないと思われる 質問させて下さい
Visual Studioでコードを書くと赤い波線が一部につく様になりました
該当の箇所を削除しても別のところに新しくついてしまいます
プログラムを実行すると
NameError:name”赤波の該当箇所”is not defined
と表示されます
print()を使った簡単なコードでも発生する様になってしまいました
特に設定を変えた様な事はないのですが、非常に困ってます
解決策分かる方はご教示お願いします
>>720
ご丁寧にありがとうございます
エラーメッセージが出なくなりました
.after_cancelですか…初めて見ましたw >>727
指定されてる実行環境が壊れてたりしないか
新しくPythonインストールして、そこを実行環境に指定してみたら Hello Worldを出力するのは問題無くできました、すいません
質問の該当のエラーは
SyntaxError:invalid character in identifier
というものです
自己解決しました
コードの横にコメント記載していたのですが
そのコメントの列を揃える時に全角のスペースが混じってました
全てスペースを半角にすることで、問題なく動きました
スレ汚しスマソ
>>731 良いってことよ、良くある話。
大抵は、: や’’ () などの対応ズレなどが多いな。 ここで質問していいか分からんのだが質問させて
ある並列処理をしていないプログラムを、複数のターミナルで同時に実行した場合のCPUの使い方ってどんな感じになる?
もしマルチコアの意味があるならいいCPU買おうと思うのだけど
>>733
間違いなくスレ違いだけどコアの多いCPU買っていいよ
異なるターミナルで立ち上げたソフトウェアは特別なことがされてない限りプロセス単位で処理が走る
プロセスをどのCPUに割り当てるのかはOSの仕事でコアがたくさんあれば最近のOSは忙しくないコアに処理を投げてくれる シングルスレッド処理でCPUを100%使うプロセスならコア数分だけ並列実行したら単純にコア数倍早くなるよ
基本的にはマルチスレッドを使うよりもシンプルでスケールしやすいので好ましいやり方
元々並列化されているライブラリを使ってるなら速くならない場合もあるけど
メモリ不足や同じディスクへのアクセスにも気をつけましょうね
プルグラム動かして寝てたら、
メモリ不足で停止してた、
クラウドで動かしたほうがいいのかなぁ
C++に移植してメモリ管理を自分でやる
昔懐かしの汎用機でタイムシェアリング……の亜種でも相手側のクラウドがよしなにしてくれるワケじゃない
メモリ不足になったら止めてくれる、ただそれだけ
実行環境の問題じゃない
どう考えてもプルグラムが悪い
長時間稼働させる場合にはPCに掛かる負荷も考えてプルグラム書かなきゃいけないしね
Pythonで、二次元配列だけども要素数が異なる配列はどの様に作るのが良いのでしょうか?
例えば4列で要素数が4,3,2,1と一つずつ減ってく、以下の配列の作り方を教えてください
[[0,1,2,3],
[0,1,2],
[0,1],
[0]]
何がしたいのかは知らんけど、たぶん配列にする必要ないんじゃない?
a = [0,1,2,3]
b = []
l = len(a)
for i in range(l):
____b.append(a[0:l])
____l -= 1
まぁ実際にやるとしたら[[x for x in range(i)] for i in range(4,0,-1)]でできる
やる必要性はわからない
馬鹿は必要性とか考えなくていいんだよ
アホみてーに俺の質問にだけ答えてろ
>>731
全角スペースいれちゃうようなら
Ricty フォントの導入など全角スペースが見える方法模索したほうがいいな tqdmでプログレスバーを同じ行で更新するように表示させてるんだけど、途中から改行されて表示されるようになることがあるんだが何か理由知ってる人いないか?
パラメータはleave=Trueだけ設定してる状態
アナコンダぱいちんくんはアップデートすると
Spyderが動かなくなったりするから困るよ
コンソールの最大幅とプログレの最大幅をconfig
空の__init__.pyの必要性って何?
検索トップに表示される内容がことごとく実際に動かした挙動と異なる。
情報が間違えてるか、情報が古いような気がする。
最新版で空の__init__.pyを入れる意味ってある?
統計検定2級持ってる高卒だけどPython勉強すればAI系の仕事つけるかな?
HTMLとCSSとjsはある程度わかる
数学活かすレベルまで到達するのってやっぱり大変?
>>756-757
公式もちゃんと書いてないような気がする・・・・
公式に書いてることを簡単に言い直せば、
3.2以前は__init__.pyがあることで、そのディレクトリがパッケージ化されてimportでき、
3.3以降は__init__.pyが無くとも、sys.pathを利用すればimportできる。
でも、__init__.pyが無くとも、sys.pathを利用しなくとも、下位のディレクトリはドットで指定すれば普通にimportできる・・・
空の__init__.pyがある場合だけインポートできるケースが見つけられない。 というかネットに限らず本もいい加減だな
「python文法詳解」というちゃんとしてそうな体裁の本を読んでるけど
「__init__.pyを置くことでそのディレクトリがパッケージ化されてimportできる3.2以前の方法に加えて、3.3以降ではsys.pathを利用する方法を追加した」と読める風に書かれてある。
でも__init__.py自体があっても無くてもインポートできるものはインポートできるし、インポートできないものはインポートできない。
3.2以前の方法は廃止されてパッケージ化に限っては__init__.pyが仕様変更されてるんと違うのか。
>>761
暗黙より明示とかカッコいいこと言っといてここら辺の仕様って恣意的で暗黙で覚えにくいよね… 公式は直訳だから抽象的だよな
直訳は元の英語文が持つ抽象性を極力維持したまま翻訳するし
翻訳することで日本文の抽象性も足される
だから直訳すると抽象的すぎてわけワカメになる
一方意訳は訳者なりの解釈を経て踏み込んで具体化されるから分かりやすい
直接的には書かれてないことを踏み込んで原語の意図を解釈するわけだから
原語の意図を読み間違えると「そこまでは言ってない」とか批判されることもあるが
>>761
下位のディレクトリについては、実行時のカレントがsys.pathに追加されるのに気づいてないのでは コード提示されて質問されたらみんなダンマリになるからなw
>>765
結局、3.7では、空にするぐらいなら__init__.pyなんか置く意味なくて
検索上位のサイトやpython文法詳解という書籍等に書かれている内容は嘘で、
import可否はsys.pathの登録のみに依存するということやね。
そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。 最後のは別の解釈ができる文だったので訂正
そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。
↓
そして実行プログラムのディレクトリはsys.pathに登録されてるため、実行プログラムの下位ディレクトリもドットを使って記述すればimport可と。
>>769
__init__.pyがあることで、初心者に特にありがちな、パッケージ名がコンフリクトした時に黙って動いたりしないメリットはあるよ
君みたいに早とちりでおっちょこちょいで過信が酷そうな人にはとても有用だよ つまり__init__.pyの存在意味がimportの可否という目的で説明されてるものが散見されるが、
それは嘘ということだね。
sys.path.append() は反則一発退場(白目)
イテレータをキー毎に集計するのにsumみたいな関数で簡単に出来る方法あったらオジエテ
例えば ((1,10),(1,20),(2,30),(2,40)) → ((1,30),(2,70))
あるいは [["A":1],["A";2],["A":3],["B":4]["B":5:]] → [["A":6],["B":9]]
今はループで加算、キーが変わったら出力 という感じで古典的なやり方してます
できました
from collections import Counter
c = Counter(A=1,B=10)
c.update({"A":2,"B":20})
print(c) #Counter({'B': 30, 'A': 3})
他にも応用できそうです ありがとうございます >>776 Ruby の$LOAD_PATH と同じだろ
load, require すると、ロードパスを先頭から順番に探索して、そのファイルを探す。
ただし、requireでは同じファイルは、2度以上読み込まないが、loadでは再読み込みする
環境変数$RUBYLIB に、パスを追加すれば、$LOAD_PATHの先頭に追加される
>>775
# count以外にも応用の効くgroup by
# [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)] => [("A", 6), ("B", 9)]
from itertools import groupby
a = [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)]
result = [(key, sum(r[1] for r in rows)) for key, rows in
groupby(sorted(a, key=lambda t: t[0]), lambda t: t[0])] 「 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 」
「 echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 」
「 echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 」
「 source ~/.bash_profile 」
MacBookでPythonを始めようと思い、pyenvをインストールして設定したのですが、pyenvは必要ないことが分かりアンインストールしました
そしてその際に上記の4つのコマンドを入力したのですが、この設定を初期化する方法を教えていただけませんでしょうか
参考にしたのはこのページです、完全に失敗しました
https://prog-8.com/docs/python-env >>781
1.ターミナルから以下のコマンドを入力する。
open ~/.bash_profile
2.テキストエディットが開くので、最後の3行を削除して、保存する。
この作業により、3つ目までのコマンド入力がなかったことになる
3.最後のコマンドをなかったことにするには、単にターミナルを開き直せばよい。
以上 >>783さんのをそのままやってみたら直りました!!ありがとうございます!!
>>782さんもアドバイスありがとうございました!! PandasでCSV読み込めないよ パス間違いかな
Macで、ファイル上で apple + aption + C でパスをコピーして、
そのまま下記の「パス」の部分にペーストするんじゃだめなのかな
df = pd.read_csv('パス')
>>781-784
echo '文字列' >> ~/.bash_profile
なら、文字列をファイルに追記する。>> は追記の意味。
コマンドを実行する前に、意味を調べて、ファイルのバックアップをとっておく事!
仮想環境構築には、anyenv がある。
Ruby のrbenv, Node.js のnodenv が有名。
他にも、色々な言語が揃っている
$PYENV_ROOT/bin:$PATH
これの特徴は、環境変数$PATH の前に、仮想環境の探索パスを追加して、
探索パスの順番を変えて、先に仮想環境でパスが見つかるようにしている
今は、Python公式が提供する、venv が良さそう
pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd Python にも、JVM的なものってあります?
JavaのUIライブラリやグラフィックライブラリだと、ネイティブメモリと、バーチャルマシンのメモリで二重にメモリ確保してたりすることがあるらしいんですよね
Python だと、その辺どうなんでしょうか?
pythonでトランプとかギャンブル系ゲーム作るとして
この手は弱いから降りるとか強いから降りないとか判断させるのって機械学習でできますか?
>>792
たぶんそのJavaのライブラリはJava側にもバッファを持つことでネイティブ境界を跨ぐコストを避けてJava側のメモリアクセスを高速化しているのだと思うが、
Pythonの場合、どうせPython側はビチグソゲロカス遅いから、ネイティブ境界を跨ぐコストなんて気にしないで素直にネイティブのラッパーとして実装しているケースが多いと思う pipenvなりで仮想環境?を切って外部モジュール入れて開発して、実際にサーバ側で動かすとなったときはサーバ側のpython環境はどうするのが一般的なんでしょうか?
開発時と同じようにサーバ側でも仮想環境を復元してその中から動かすのか、それとも直接必要なモジュールを入れてしまいますか?
s = '''
5
2 4
5 6
'''
s=s.strip()
sを1行ずつinput()で受け取りたいけど
どうするの?
まずそれを標準出力に出力してください。
そのあとinput()書いた別のプログラムにパイプで繋げばいいんじゃないですかね。
>>798
ケースバイケース
pipenvを使って構築したならPipfileやPipfile.lockを活用した方が良いかな
具体的には pipenv --venv で環境のパスを探して
そこの下にあるpython (上のディレクトリ/bin/python) を呼び出す >>801
pipenv等の導入と環境の復元を本番環境でやる流れなんですね
了解しました、ありがとうございました 1個の辞書 {'V':'S001'} からキーを指定せず要素 S001 を取り出したい場合
for values() を使う方法以外にありますか?
1個だけなのにループ使うなんて大げさな感じがします
in_data = {'V':'S001'}
for val in in_data.values():
print(val)
values()使わないと実質的にキー指定するやり方以外ないので諦めてください
VBしか出来ないけど、Python初心者勉強会に行ってくる。
tuple({'V':'S001'}.values())[0]
ループ使ってないぞw
ありがとうございます
values() は必須みたいですね
>>807 で記述してみます >>804
v = in_data[in_data.keys()[0]] >>804
お前みたいな素人は黙って動くコード書いとけ
下手くそなのに綺麗なコード書こうとか意識してんじゃねえよ [*イテレータ][インデックス]
デメリット
イテレータの意味がない
順序が保証された3.7でも、keysもvaluesもインデックス使えないね。
なぜそうなっているのかは意味不明。
3.6までなら、当然だと思うけど。
「イテレータでインデックス使えないんですけど」とか言われても
「それ配列じゃないんで」以上の返事は返せないのだが
イテレータじゃねぇわジェネレータだ
まぁどっちにせよそれ配列じゃないから
Ruby では、Enumerator に、with_index をつなげると、
ブロックに、index が渡ってきて、自動的にインクリメントしてくれる
str = "abc"
enum = str.to_enum( :each_byte ) # Enumerator
enum.with_index( 10 ) { |byte, idx| p [ byte, idx ] }
出力
[97, 10]
[98, 11]
[99, 12]
>>811
for i, v in enumerate(イテレータ): print(i, v) (_ for _ in d.values()).__next__()
>>804
パズルとして
d={22:44}
print(d[list(d)[0]]) おまいら問題を良く観ろω
for と .values() は禁止だ
国内でももうすぐPythonがRubyを抜くのか
数年前からすると嘘のようだ
こんなチャラついた本が今やバイブルだからね
>>830
ヘビの形をしたグミキャンディーが入っている袋みたいだな pythonの環境構築して簡単なサンプル文言の表示までできた。
エディタはvisual studio codeを使用している。日本語化もできている。
excel vbaを少しかじったことのあるので、文言の表示やらループやら辞書やら
基本的文法はある程度理解できた、つもり。
pythonを触ってみて、感動したのは、excel vbaと同じく変数名を「日本語」で書けること。
pythonを使ってexcel操作できるようにしたい。excel vbaを学んでいるのでvbaでカバーできないところを
pythonで補うといった感じです。excel vbaとpythonとの連携動作を記述できれば。
あとは、GUI操作の自動操作にも興味あるのでその辺も勉強したい。
>>837
それ便利ですね。日本語→変数名にふさわしい英語に変換してくれるという。
excel vbaでは、データ列の最後の行を、「最終行」として変数名として扱ってたな
最終行→last_row
うん、こっちのほうがしっくりする。 エラーが出た
come_out_error
なんか違うような気がするが
エラーが出たならAn error has occuredみたいに変換されるといいな
>>837
ネタサイトにしか見えないんだけど
本気でやってんのかな? 入門サイトで、pythonの最新版3.7.3に即したサンプルコードが掲載されているおすすめのない?
探しても、2014年に更新したものとか、そのままでは流用・改造ができない。
具体的には
printに()がつけるのがデフォだg、
昔は()つかなかったらしい。
バージョンによってコードの書き方が若干変更されている。
今日は辞書・リスト・タプルの習得と、クラスを知識レベルで習得しようかな。
クラスはC++を業務で限ったことあるから、クラスに出てくるデストラクタとか基本的な概念は理解しているつもり。
最終目標はExcelとの連携動作を記述できることなので、
クラスを使うケースがなければ、無理に覚える必要はなくて、こういうのがあるんだというレベルで知るにとどめておく。
>>842
> 昔は()つかなかったらしい。
> バージョンによってコードの書き方が若干変更されている。
python 2 3 違い
とかでググれ python2 は print(hoge) で動く
python3 は print hoge で動かない
python2 の方が python3 より上位互換
タプル学んだが、一度決めたら変更が効かない点から、C言語でいう文字列定数みたいなもの?
>>847
C言語の文字列定数は:
「文字型を要素に限定した不変な配列(immurable array of char)」
Pythonだと:
・タプル:任意の型を要素とする不変な配列(immutable array of any type)
・リスト:任意の型を要素とする可変な配列(mutable array of any type)
要素の型が文字に限定されないという点では誤りだけれど、
不変な配列という意味では正しい認識 皆さんide何使ってますか
pycharm使ってたんですが無料版にはリモートデバッグ機能が無いようなので新しいの探してます
もちろんVSCode
リモートデバッグは当然として、リモート側でheadlessなVSCodeを動かして
手元のVSCodeと接続して操作するという完全なリモート開発も可能
>>852
リモート先がx86_64のLinuxならVSCode Insiderがいいよ
armのLinuxならリモートデバッグは諦めて普通のVSCodeにSSHFSを入れる 大手でも無料でライセンス気にせず仕えるIDEって純正だけ?
IDEと呼べる程度の機能性を備えていてライセンスを気にせず使えるのはVSCodeだけだ
テキストエディタでinput()とか、exit()を挿入して、デバッグしてるわw
>>857
インラインデバッグができると効率が全然違う IDE使ってない人はホント開発とろい。
40年近いPC触ってるが、今の時代でIDE使わないってアホ。
200万以下の振り込みに印鑑もって銀行窓口に行くぐらいボケた行為。
PythonってVisualStudioで使えるのか知らんかった
VisualStudioのターミナルで全部インストールしてPython使い始めたな
VisualStudioOnlineでたらそっちに乗り換える
VisualStudioOnlineはVSCodeのWeb版
VisualStudioとは全くの別物
まあターミナルとか言ってるから今使ってるのもVisualStudioCodeなのかもしれないけど
クラウド版みたいな感じ?ブラウザで使えるならいいな〜と
今もソースはGoogleドライブに置いていろんなとこから使ってるし
d1 = str(date2.time())
print(d1)
d2 = ("03:59")
d3 = ("04:15")
print(d2,d3)
if (d1 < d2 and d1 > d3):
すみません、
午前の3時59分から、
午前の4時15分までの間は、
処理をしないようにしたいのですが、
d1で現在時刻を取得して文字列に替えて、
d2とd3と比較はできるようになったのですが、
if (d1 < d2 and d1 > d3):
このように書くと、間じゃないみたいです、
どうやって比較すればいいでしょうか?
if not (d2 <= d1 and d1 <= d3)
>>866
ありがとうございます、
条件を理解するのが難しいけど、
整理して使ってみます。 if not (d2 <= d1 <= d3)
if not (d2 <= d1 and d1 <= d3)
ド・モルガンの法則で
if d1 < d2 or d1 > d3
一番上のpython流のbetweenが好きな人もいれば、下の様にnotがない方が好きだという人もいるだろう。
>>868
おお、これなら馬鹿な頭でもなんとなくわかる。 >>865
文法とか表記云々よりそもそもandなのがおかしいよね
意図を満たすのがそもそもorでpythonどうこうの問題ではない
難しいなら一度ただの数字で整理した方がいいよ
d1=15
d2=20
d3=30
d1 < d2 and d1 > d3
⇔15 < 20 and 15 > 30
こうなるから満たすものが存在する訳がない ちなみに証明ちっくに書くと
d1 < d2 and d1 > d3なので
d2 < d3と仮定したなら
⇔d1 < d2 < d3 and d1 > d3
⇔d1 < d3 and d1 > d3
d3より小さくてd3より大きいd1は存在しない
つまりd2 < d3の時この条件式は常に偽になる
1 < 2 < 4
と書けるのは長所(書いていて綺麗
PythonでIDE使うメリットった何がありますか?
補完と環境構築以外で教えて下さい
くっそどうでもいいんだけど
その条件てd1が23時でd3が1時の時動くのか?
プログラム自体を始めたばかりなので、問題と思ってるところが間違ってるかもしれませんが、
pyinstallerでexe化する時に、-F -wの両方のオプションをつけると動作しなくなるのは何故でしょうか?
https://ideone.com/XonqyH
動作しないというのはPingが実行されていないという事を指しています。 pyinstallerは知らねーけど、その質問の仕方は将来有望な気がする
>>882
確定的明らかに-wオプションがわるいはー
noconsoleって指定しちゃったら、
stdoutのやり場(通常はコンソールウインドウ)がないんだものー >>884
解決しました、ありがとうございます。
stdin,stdour,stderrすべてをパイプで繋いでおく必要があるという結果でした。
pyinstallerで-F(onefile)のオプション付けなければ動作していた為に原因の理解に苦しみましたが、
標準入出力がおかしいから失敗する(というかそもそも実行されない)という事っぽいです。
動くように変更したもの
https://ideone.com/ARUMCf
※stdinのパイプ追加と該当箇所のコンソール非表示フラグ追加
どうでもいい箇所ですが、cp932を打ち間違いしてたのを修正 プログラミング初めたばかりでこれか
レベル高すぎるだろうw
これが天才というヤツか
>>885
うごいて乙!
きれいなコード乙乙!
>標準入出力がおかしいから失敗する
>stdin,stdour,stderrすべてをパイプで繋いでおく必要がある
そうなのね!!!
こちらも勉強になったは! spyderで動くのにexeにするとエラーはく
python3.7 matplotlibとnumpyは最新
昔の一時期はAIといえばLISPとかだったりもしたけど
今や知る人もあまりない死語だろうな
今はディープラーニングでPythonだったりするんだろうか
LISPってぱっと見何が書かれているのか良く分からん
人工知能用途の特殊な言語だと思ってた
よく知らないけどその辺のAIってルールベースって聞いたから同じようなのが延々と並んでるんじゃね
わたくしの定義だと
・言語系AI
・画像系AI
この違いです
LISPは当然、言語系です
現行のpythonはどちらかと言うと画像系です
なので行列演算が可能な問題に適してます
言語系AIは一体全体何を計算していいか分からなかった、これが停滞の大元です
当たり前のことだが lisp で行列を扱うのは簡単
ただ当時の計算機パワーでは大きなデータが
動かせなかった。大きなデータもなかったし。
Lispで行列?
行列ライブラリはあるみたいだけど言語としてなんかアドバンテージあったっけ?
当時最大のアドバンテージがS式の実装とシンボリクス
しかして「古い技術で作られたものは劣っている」だから21世紀の今じゃしょうがない
mac os x 10.11.6でpyenvにて3.6.5を使用しています。
pip listをすると途中で止まってしまうようになり、
pip自体をアンインストール後にget-pip.pyで再インストールしたが変わりません。
解決策ご存知の方教えてください。
vbaしか扱えない無能だけどWebクロールしたい
どこ読めばそのレベルまで到達できる?
python jpのチュートリアルは丁寧なんだけど、全機能解説してて終わるまで1年かかりそう
requestsとBeautifulSoupのマニュアル読んだら出来る
わからんとこがでてきたらpythonチュートリアルに戻ればいい
>>902
何とか一ヶ月でマスターしたいねん
>>903
ごめん見つからん
もしかしてそれぞれのコマンドのマニュアルからcookie処理やID認証まで全部覚えろって意味?
凝ったことしたいならScrapyの方が良さそうだけどズブの素人から目的まで達するのにどんくらいかかるかは知らない
というか何やりたいのかも分からんし
>>904
情報ありがとうございます。
ちょっと状況が違っててpip listをして途中まで表示された後、
いつまでたっても終わらないんです。
site-packagesの中身を全部消して、設定ファイル?を一部削除したら
とりあえず正常に動くようにはなりました。 採取したい対象によっては、requestsじゃなくてSeleniumかPupeteer(nodejs)が必要になると思うけど。
どっちにしろ、Web知らなきゃ初っ端から行き詰まるだけだが。
プログラミング初心者です
最近pythonの勉強を始めたのですが、
どうしてもエラーになってしまいます
アドバイスをおねがいします
問題はこちらです。
演習課題「アイテムリストを作ってみよう」
右側のエディターエリアのプログラムを元に、アイテムリストを作ってみましょう。
標準入力で出力するアイテム数と複数行のアイテム名の入力があります。
それを元に、items_imgで定義された画像を改行せず順番に出力してみましょう。
画像の出力にはimgタグを使い、src属性に画像のファイル名を指定します。
※標準入力で与えられるアイテム名は、items_imgにはないアイテムは出てこないものとする。
入力される値
6
回復薬
盾
クリスタル
クリスタル
剣
剣
期待する出力
(回復薬の画像)(盾の画像)(クリスタルの画像)(クリスタルの画像)(剣の画像)(剣の画像)
...
↓ 以下、右側のエディット
# 画像用辞書
items_img = {
"剣" : "(URL)"
"盾" : "(URL)"
"回復薬" : "(URL)"
"クリスタル" : "(URL)"
}
以下、自分が書いたコード
import sys
for items_name in sys.stdin.readline():
print("<img src='" + items_img[items_name] + "'br>")
これだとKeyError : '6\n'
となってしまい
import sys
for items_name in sys.stdin.readline():
f.append(items_name.rstrip())
del f[0]
print("<img src='" + items_img[items_name] + "'br>")
とするとTypeError: unhashable type: 'list'
となってしまいます。
どうすればよいでしょうか。
>>913
めちゃくちゃすぎ
なにより先に
>>1は最後までよめ
>◆Pythonのソースコードをそのまま5ちゃんにコピペすると
> インデントが崩れるので
> こういうところ↓にはってきてください
「# 画像用辞書」のデータ を辞書データとしてPythonに読ませる部分が決定的に欠けている
入力される値の1回目をアイテム数として取り込む処理が欠けている
fからitems_imgを照会する部分が欠けている
あと
> "'br>")
↑この部分を直さないと、htmlとして間違っつるのでタヒんでも指示書通りにはならない >>915
ありがとうございます。
考え直してみます。 >>910です
http://ideone.com/3znmpu
これでpaizaの出力エリア上は期待する出力と同じなのですが、
採点結果は0点でした
ideoneでのline 15 の意味も分かりません
HTMLについては全くわからないので、今までのpaizaの演習にならって書きました
なにか根本的に間違っているのでしょうか
教えてください。 >>917
>paizaの出力エリア上は期待する出力と同じ
なるんか・・・?
>ideoneでのline 15
「list assignment index out of range」でググレカス
>HTMLについては全くわからない
ひらきなおるな
最低限、imgタグのよろしい打ち方ルールをもっとべんきょうしる
>なにか根本的に間違っているのでしょうか
Yes!
>>915に書いた全項目解決したか?くらいは
投稿前に自分でちゃんとちぇっくしる >>918
わかりました。
ありがとうございます。 paizaもっとチュートリアル的なコンテンツあったろうに
それとも、それをやってこれなのか
1年後、10年後に良いコードが書けてればいいから
他の新規者と比べてあまり気落ちしないように
>>917
Ruby で書いた
%Q(〜) は、" をエスケープする。\" と書くのと同じ
img_urls = { 1 => "url_1", 2 => "url_2" }
img_tags = img_urls.each_value.map { |val| %Q(<img src=") + val + %Q(">) }
puts img_tags
出力
<img src="url_1">
<img src="url_2">
君が書いた、br は、間違いだろ。
それと、HTML の属性は、' よりも、" で囲むのが普通かな?
print("<img src='" + items_img[word] + "'br>") >>923
頼むからrubyを貶める行為はやめてくれ
Pythonスレでやってもウザいことこの上ない
どうせやるならMacOSXのXcodeにバンドルされているrubyがc++11で動かないのでそっちをなんとかしてくれ
その方がみんな喜ぶし世界的にもユーザーが増える
例えば
github-linguist
は最新のMojaveでエラー出て、ほっとかれるだけでイラッとする >>925
>どうせやるならMacOSXのXcodeにバンドルされているrubyがc++11で動かないのでそっちをなんとかしてくれ
>その方がみんな喜ぶし世界的にもユーザーが増える
それを言うなら、このスレ的には:
MacOSに標準インストールされているpython2をなんとかしてpython3にしてくれ、
そのほうがpythonistaみんなが喜ぶし世界的にもPythonユーザーが増える
例えばpython3をインストールするのに、
よりにもよってRuby謹製のHomebrewを使わざるをえないだけでイラッとする
だろ まあこのスレ的には>>923が消えてくれればそれでいいのだが、タイルの目地に生えたカビの如くなかなか消えなくて困る。 >>926
minicondaでだましだまし使ってる 解決しました。ありがとうございました。
削除依頼も出しました。
>>929
アンカー振らない無脳さよw
でも誰だかわかるって
ある意味スゲエwww 質問です。家の回線のISPから昨日1日で転送容量15GB使ってると警告がきた
状況はサブPCでPythonでスクレイピングしてる
htmlから文字を抜き出してるだけで画像などをダウンロードしまくるようなものじゃない
操作性やキーボードなどを置くスペースの関係でChromeのリモートデスクトップでメインPCから操作してる
ちょうど昨日ぐらいから24時間リモートデスクトップ繋ぎっぱなし
転送容量の警告はChromeのリモートデスクトップが原因とおもって大丈夫でしょうか?
スクレイピングしてるhtmlファイルと画像の容量合わせても
1.8MBで10回20回アクセスしたとしても到底15GBにはならないとおもうんだけど
一応、転送容量制限掛けられるソフトをインストールして監視してる
設定とかによるけどこっちもChromeリモート使って1時間800MBくらい
>>917 line 15 は入力の最初の数字6 を消してるだけ。
htmlタグをプリントするだけで画像が出るわけないだろ。
paizaが何者か知らんが、Python の基礎からやった方が良いぞ。 そんなんで表示されるなんて周りにプログラムがあらかじめ書かれてるんだろ。
ちゃんとやるなら HTMLのソースファイルを作ってWebサーバで表示させることになる。
<html>
<body>
<imag...>....
</body>
</html>
html も知らずに HTML問題を解くなんて無謀。 問題を出す方も出す方。 >>932
情報ありがとう
Chromeリモートデスクトップ止めたあとも1GB/h以上の転送量があった
SoftEther VPNって起動してるだけであのリストに載って誰でも繋がるようになるのかな?
たまに使うのでアンインストールはせずスタートアップから外し
VPNのネットワークアダプタを無効にし再起動で98.7MB/hまで落ちました
お騒がせしました
もう乗っ取られてんじゃね
OS再インストールを強くお薦めする
pytorchの解説がどれもむずかしいのですが、初心者ははじめに何やれば良いんでしょうか
最終目的はaiでロリ画像を作ることです
君のリアルロリレベルのおつむを大卒レベルまで引き上げないと無理
Windowsですが、皆さんはインストール時にデフォルトの
フォルダにインストールしてますか。
さっき初めて入れたのですが、フォルダの階層が深いので
Cドライブの直下にしようかと思うのですが、それにより
不具合が起きたりしますかね。
>>949
>それにより不具合が起きたりしますかね
起きそうだ、と初めてさんに「も」予想できることは
ほぼほぼ実際に起きることだ >>949
どんな場合においてもデフォルトが一番良い
なぜならば最も試験されているから "D:\Program Files\Anaconda3"
特に問題なし
winだと確かデフォルトだと隠しファイルの奥の奥くらいにあってbinのパスクソ長くて叩くの面倒だったから変えたよ
>>954
え???
3.7系なら
C:\Program Files\Python37-32
python.exeはここ↑にあるんだが。。。
>>953
そこにはシンボリックリンクがいる(置いてある) All Usersにインストールした場合と
Only for Userでインストールした場合でインストール先が違うことを知らないレベルの初心者は
話がややこしくなるから静かにしとってくれ
>>957
> All Users / Only for User
そういえば!
そんなチェックボックスもあったな!!!
あとは
32bitか64bitかでもフォルダが違ったりするか
年経ると最初にインスコしたときの選択肢のこととか忘れるよ・・・
+
持ち前のうっかりテヘ
すまんね 自分でインストールしたものは Program Files とは別の場所に保存するようにしてる
ポータブルソフトウェアも別の場所
全部 Program Files に保存するとわかりにくくなる
storeアプリとしてインストールすると、ルートは相当深いのでは?
まぁ、ドライブのルートにインストールするのがわかりやすくていいわな。
unix由来のものはだいたいそうしてる。
説明に従ってインストールするものは、デフォルトの場所がよい
一方、ポータブル版など、インストールせずに、自分でバイナリをどこかに置いて、
ユーザー環境変数パスも自分で追加するようなものは、C 直下でもよい。
その代わり、消す・移動する場合も、自分で環境変数も削除・更新しないといけない
コマンドプロンプトで、
where node
C:\Program Files\nodejs\node.exe
where ruby
C:\Ruby24-x64\bin\ruby.exe
Node はインストールした。
一方、Ruby 2.4 はポータブル版
ぼくはパス名に空白あると死んじゃうおじさんだからProgram Filesの下は無理だわ
昔のバージョンはC直下がデフォルトで、自分は直下が嫌いだったから、1個下に変更して入れてた記憶がある。
3か月くらい前に使い始めて旧バージョンじゃ動かないとか
32bitじゃ使えないライブラリとかで色々入れたけどこんな感じ
C:\Python\Python3.6x86
C:\Python\Python3.6x64
C:\Python\Python3.7x86
C:\Python\Python3.7x64
プロゲートでレッスン3までマスターした上級者の俺に質問はまだですか?
x,y,zのデカルト積で
ようするにネストした3つのループがあるとする
for x in xs:
for y in xs:
for z in xs:
...
この3重のループの中から、
xyz全部一気に抜けたい時
次のyの処理に移りたい時
次のxの処理に移りたい時
pythonではどう制御を書きますか?
ラベルがあったな?
昔調べたらそれで解決したはずだ
忘れてた
フラグ変数で管理するか例外を使う
try:
__for x in xs:
____for y in ys:
______for z in zs:
________raise Exception
except:
__pass
次のy,xの処理に移りたければexcept continueすればええんちゃう
ラベルなんてなかった
目立つから例外使うことにします
ありがとうございました
.for x in xs:
. for y ys:
. for z zs:
. ...
. if cond:
. break
. else: continue
. break
. else: continue
. break
俺ならreturnする
>>970
っ 先頭に「.」を足しても 【複数の連続半角スペースは1ツにまとめられてしまう仕様】
ネスト具合がわけわかめだから
かきなおしてくれくれ 初心者で質問です。
以下の処理を行うプログラムを作成してください。
数値リストの値を集計するプログラム:
5、3、12、8、2の要素からなるリストを作成する
集計結果を記録する変数sumに0を代入する
for文を使ってリストの要素を1つずつsumに加える
sumの値を表示する
実行結果は以下になります。
30
僕の考え
a=[5, 3, 12, 8, 2]
sum=0
for n in a:
sum+=n
print(sum)
_________________結果
5
8
20
28
30
質問 僕は30だけにしたいんですけど、どうすればいいですか?
for文を使うのは必須でお願いします
こういうのは
print(sum(n for n in [5, 3, 12, 8, 2]))
for文とif文を組み合わせて、2から10の範囲の偶数を表示するプログラムを作成してください。
実行結果は以下になります。
2
4
6
8
10
ヒント
数値の範囲は1から10までとし、繰り返し処理の中で「値が偶数なら表示する」という条件分岐の処理を行います。
for n in range(1 ,11):
if n%2==0:
else:
から手も足も出ません。。。誰かご教授お願いします
偶数(余りが0)だったらnをprintすればいい
else不要
>>977
偶数だけを抽出したいんでふけど、そのままやったら奇数も含まれるのでは?たしかにエルスは要らないですね。 僕の大学でcountを使わないで文字を数える考察問題が出たんですけど、そんなことできますかね?
[考察チャレンジ問題]キーボードから入力された文字列の中にaが何文字あるかを、countメソッドを使わずに数えるプログラムを作りなさい。
(正解の実行例)
文字列を入力:abcadeagf
3
僕の考え
↓
a=input('文字列を入力:')
b=list(a)
for n in b:
if n=='a':
print(len(n))
どこが間違ってますかね?
>>980
俺的回答に至るヒントは
import re >>985 次スレよろすく
禿BBだと、このホストではー(ryされるは
スレタイは
くだすれPython(超初心者用) その44【Ruby禁止】
本文は>>984 sum(map(lambda c: 1 if c is 'a' else 0, 'abcadeagf'))
>>980
str = "abcadeagf"
i = 0
for char in list(str):
if char == 'a':
i += 1
print(i)
collect_a = ["dummy" for char in list(str) if char == 'a']
print(len( collect_a ))
全角空白を半角空白2つに置換して実行してみな >>980
最終行のprint(len(n)) は常に1と評価され
ifの条件を3階通過するから3回1が出る
abnの変数名を変えたほうが分かりやすい
a => caught_line, b=>string, n=>char
char が1文字を意味する言葉でstringはその集まりの複数形だから
print(len(char))は1になるのが変数名で判る >>988
なるほど。
list(str):
if char == 'a':
print(i)
だと、
a
a
a
ですよね?
これをリスト化して
[a a a] >>989
には変換出来ない感じですか?
あとi+=1をi=i+1にしないのはなにか理由があるから? 【複数の連続半角スペースは1ツにまとめられてしまう5chの仕様】 に注意な
>>989 うん、その発想でも解けるな
>>990
>i+=1をi=i+1にしないのは
PEP8 で ぐぐってみそそ from collections import Counter
Counter(input())["a"]
>>990
説明用のコードだったから明瞭にするための "DAMMY" だった
そこを 'a' とかにすればもちろん
['a', 'a', 'a']を得られる
両辺に同じ変数を書くより多くの情報が += にはこもっている
左から読んでいくから i += のところまで読んで
それはインクリメントするための文だとわかる
両方に書くのは全体を読んでみるまで分からない
早く読める形式じゃないと、保守性が下がり将来の大きなコードで読みにくい >>994
無くても回るけど
print(list(str))
のようなことやれば
charの集まりであることが協調される
文字列型からの暗黙のキャストみたいなのは
勉強の初めの時は考えなくていいコードのほうが
一度に覚える負担が少ない 文字列型からの暗黙のキャストて…
はなからシーケンス型ですし
python 固有だから
あまりそこに集中させたくないんだよね
>>980
を見てもらうと
そこより別のもっと致命的なことに集中して学ぶ必要がある
だから変える必要がないってのと
あと他の言語では流動性のあるシーケンス型じゃないものもある
となればやはり1文字ごとに処理していくアイデアは悪くない
だからそのままlist >>980
import re
print(len(re.findall('a', input('文字列を入力:')))) -curl
lud20191217161920ca
このスレへの固定リンク: http://5chb.net/r/tech/1555397061/ヒント:5chスレのurlに
http://xxxx.5ch
b.net/xxxx のように
bを入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像
↓「くだすれPython(超初心者用) その43【Ruby禁止】 YouTube動画>2本 ->画像>29枚 」を見た人も見ています:
・くだすれPython(超初心者用) その40
・くだすれPython(超初心者用) その45【Ruby禁止】
・くだすれPython(超初心者用) その42【Ruby禁止】
・くだすれPython(超初心者用) その41【Ruby禁止】
・くだすれPython(超初心者用) その44【Ruby禁止】
・くだすれPython(超初心者用) その48【まず1嫁】
・くだすれPython(超初心者用) その49【まず1嫁】
・くだすれPython(超初心者用) その46【Ruby禁止】
・くだすれPython(超初心者用) その47【Ruby禁止】
・くだすれPython(超初心者用) その36
・くだすれPython(超初心者用) その39
・くだすれPython(超初心者用) その38
・くだすれPython(超初心者用) その37
・くだすれPython(超初心者用) その35
・くだすれPython(超初心者用) その34
・くだすれPython(超初心者用) その29
・くだすれPython(超初心者用) その31
・くだすれPython(超初心者用) その32
・くだすれPython(超初心者用) その19
・くだすれPython(超初心者用) その33©2ch.net
・【まず1嫁】くだすれPython(超初心者用) その53
・くだすれPython(超初心者用) その52【まず1嫁】
・くだすれPython(超初心者用) その50【まず1嫁】
・くだすれPython(超初心者用) その51【まず1嫁】
・【まず1嫁】くだすれPython(超初心者用) その58
・【まず1嫁】くだすれPython(超初心者用) その57
・【まず1嫁】くだすれPython(超初心者用) その60 (110)
・くだすれjavascript(超初心者用) その1
・くだすれDelphi(超初心者用)その57
・くだすれDelphi(超初心者用)その55
・くだすれDelphi(超初心者用)その56
・くだすれDelphi(超初心者用)その54
・くだすれDelphi(超初心者用)その58【Embarcadero】
・くだすれDelphi(超初心者用)その59【Embarcadero】
・くだすれjavascript(超ウルトラ初心者用) その1
・くだすれDelphi(超初心者用)その60【Embarcadero】 (229)
・くだすれFORTRAN(超初心者用)その6
・くだすれDelphi(超初心者用)その16
・くだすれFORTRAN(超初心者用)その7
・くだすれC++Builder(超初心者用)その5
・くだすれAjax(超初心者用)
・おーいPythonって初心者用でもなんでもなく、むしろ現代社会の工数削減に貢献するプロ用じゃないか
・くだすれC++/CLI(初心者用)part2
・Python初心者スレ
・Python3を勉強中の初心者ですが
・プログラミングガチ初心者なんだがPythonかRubyどっちがいいの?
・Python初心者が質問m(_ _)m
・【IT】TensorflowやPythonの基礎が学べる――初心者向け「AIプログラム学習キット」が発売 [無断転載禁止]
・■初心者用リモートデスクトップ専用すれっど■
・0からの、超初心者C++相談室
・Google AdSense 超初心者スレ 8
・Google AdSense 超初心者スレ35
・Google AdSense 超初心者スレ23
・【エスパー】超初心者の質問に答えるスレ1028
・[エスパー] 超初心者の質問に答えるスレ238
・[エスパー] 超初心者の質問に答えるスレ213
・モンスターストライク脱・超初心者スレ44
・超初心者のための質問スレッド★アンプ編 46★
・【新エスパー】超初心者の質問スレ25【世界樹出禁】
・超初心者のための質問スレッド★スピーカー編 67★
・PC買いたいPC超初心者に色々教えて欲しい・・・
04:28:07 up 5 days, 14:52, 0 users, load average: 8.96, 9.41, 9.86
in 0.025074005126953 sec
@0.025074005126953@0b7 on 121718
|