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

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

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

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

前スレ
くだすれPython(超初心者用) その39
http://mevius.5ch.net/test/read.cgi/tech/1535064635/

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

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

◆ソースコードをそのまま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/01/18(金) 05:38:40.22ID:etnaAaGa
output = [[]]
# output.clear()
output.append(['あ'])
output.append(['い'])
output.append(['う'])

とすると配列は、

0:[]
1:['あ']
2:['い']
3:['う']

となります。
最初の空配列は不要なんだけどどう書くのが適切ですか?
output.clear() 入れれば大丈夫みたいですが、append() の仕方が悪い?
2019/01/18(金) 08:33:06.66ID:nkUXwTJO
>>750
1行目を output = [] か output=list() で試して
2019/01/18(金) 09:47:06.03ID:LKOsIFRz
>>750
pythonのリストはどんな型でも自由に入れられるから
変数宣言時に「リストのリスト」にする必要はないよ

output = []
で十分
2019/01/18(金) 11:19:48.78ID:etnaAaGa
>>751
ありがとうです。
できました。

ほんとはCSVにしたくて 'abcd' が CSVにすると a,b,c,d になってしまう問題?で
[[]] にしろとか書いてあったのでそうしてみたんだけど、
結局 [] で良くて、append(hoge.text) が間違いで append([hoge.text]) にしたらOKでした。
754デフォルトの名無しさん
垢版 |
2019/01/18(金) 12:12:45.26ID:/+PP0p1B
書く方も出鱈目
読む方も出鱈目
エントロピーは∞
2019/01/18(金) 13:23:18.81ID:YOh2epVA
>>753
自分がアホなんかな
何が言いたいのかさっぱり分からない

CSVにしたいの?したくないの?
append(hoge.txt)が間違い?
文法的には全く間違ってない

それとも何か別の言語と勘違いしているのだろうか
2019/01/19(土) 06:07:09.79ID:uKwRyUKA
質問です。
Windowsのanaconda環境でpyファイルをダブルクリックから実行しようとしています。
Python.exeに関連づけて実行すると、コンソールが立ち上がってprintなどデフォルトの関数は問題なく動作するのですが、pandasなどのモジュールを含むと動作しません。
原因分かるでしょうか?
757デフォルトの名無しさん
垢版 |
2019/01/19(土) 10:58:30.19ID:E3pxDp1L
virtualenv
pyenv
2019/01/19(土) 16:58:56.37ID:S3LTVMgK
ダブルクリックというイベントを使うことがだめだと思うの
2019/01/19(土) 17:39:04.16ID:fzlT0aEz
教えてください。
言語PythonだけでECサイト作りたいんだけどそんなことってできますか?
2019/01/19(土) 17:42:49.15ID:BW5TF7JU
もちろんできるけど、独力でやるつもりならPython云々よりもLinuxやAWSのノウハウの方が重要
2019/01/19(土) 18:32:26.54ID:fzlT0aEz
>>760
あざす
2019/01/19(土) 18:59:05.58ID:ov6XiAZ2
>>761
はっきり言ってそれ誰が利用するの?
田舎の小さな商店とかだったらいいかもしれんが
2019/01/19(土) 20:22:13.59ID:sMK/2iqG
for f in os.listdir〜でファイル読み込む時に
ファイル名の末尾が1の次に10を読み込んで100を読み込みます。
1からその次に2を読み込んで3を読み込んでいって欲しいのですがどうすればよいですか?
2019/01/19(土) 20:48:56.90ID:KR4YcJ5b
>>763
os.listdirの結果をリストに格納しておいて
(reをimportして)
正規表現を使って
ファイル名のうちの番号部分のみを抽出、
[int(抽出した番号),ファイル名]っていうリストをつくる。
抽出した番号の方をキーにしてソート。
ソートしたリストをつかって順番に読み込む。
765デフォルトの名無しさん
垢版 |
2019/01/19(土) 20:57:25.22ID:AuMD8hxP
>>764
> os.listdirの結果をリストに格納しておいて
この時点で読み込んでもうとるやん
2019/01/19(土) 21:14:06.31ID:oS4LHKzo
>>759
Linux
Python(djangoとかも)
HTML
CSS
JavaScript
SQL

この辺は一通り覚えないといけないのでは。
2019/01/19(土) 21:15:39.11ID:+IqL7b8U
>>763
for f in sorted(os.list, key=lambda x: int(x))
ちなみにos.listの順序は保証されたっけ?
2019/01/19(土) 21:31:40.75ID:wiNfQeeu
Ruby なら、

nums = %w(100 10 5 1)
# 文字列を数値に変換して、ソートする
nums.map!( &:to_i ).sort!

p nums #=> [1, 5, 10, 100]
2019/01/19(土) 21:38:00.95ID:eXcwnDrF
>>756
Windowsのanacondaは

activate base

してから動かさないとpandas等は動かないよ

ダブルクリックで動かしたいならBatファイル作るかPyInstallerでexeにする方法があるけど、多分やりたいこととは違うと思う
2019/01/19(土) 21:47:02.96ID:fzlT0aEz
>>762
ただの好奇心で作ってみたいと思っただけです。
趣味的な、仕組みがわかれば他に応用効くと思ったんですよ
2019/01/19(土) 21:48:45.29ID:fzlT0aEz
>>766 
とりあえずパイソンだけでできるか知りたかった
出来るには出来るようだから勉強としてやってみる
2019/01/19(土) 21:48:57.28ID:xhDg2W2P
Python:
def add(a, b):
return a + b

def opTwo(a, b, func):
return func(a, b)

print(opTwo(1, 2, add))
=> 3

Javascript:
let add = (a, b) => a + b
let opTwo = (a, b, func) => func(a, b)
console.log(opTwo(1, 2, add))
=> 3

るびぃ〜)(;笑
def add(a, b)
a + b
end

def opTwo(a, b, func)
func(a, b)
end

p opTwo(1, 2, add)
=> Line 9:in `add': wrong number of arguments (0 for 2) (ArgumentError)
from t.rb:9
プギャーm9(^Д^ )

るぅピぃではdefで定義した関数には第一級関数の資格はありませんwwww
その他に似たような機能を提供するものにはなんと!ブロックとProc.newとprocとlambdaと->からより取りみどりで全部少しずつ用途と挙動が異なりますwwwwwさすが純粋オブジェクト指向言語は違うね!wwww
2019/01/19(土) 22:18:32.39ID:GpovgQp3
>>767
これファイル名が全部数字じゃないと通らないだろ

def key(f):
__y = lambda x: int(x) if x.isdigit() else x.lower().strip()
__return [y(x) for x in re.split("([0-9]+)",f)]

みたいな感じでソート用のキーを返す関数を定義すると文字列内の数字の大小(ただし非負整数に限る)を考慮したリストになる
2019/01/19(土) 22:23:53.70ID:+IqL7b8U
>>773
ああ、すまん
そこは適宜変えてくれ
2019/01/20(日) 13:54:37.29ID:rtkW6ttt
>>769
なるほど、ありがとうございます
2019/01/20(日) 16:52:59.69ID:hQY4Kv8Z
763です。
簡単と思ったら意外と複雑なのですね...
Windowsでは標準があれなので楽に行けるかと思ったら大間違えでしたね。
ありがとうございます。
777デフォルトの名無しさん
垢版 |
2019/01/20(日) 18:05:20.92ID:908nBzg3
IDLEつかってるんですが左側に行番号を表示させることできるの?
どうやったらいいの?
2019/01/20(日) 18:09:06.10ID:TQeakhfS
>>777
そろそろVSCodeへ移行しよう
779デフォルトの名無しさん
垢版 |
2019/01/20(日) 18:10:12.78ID:908nBzg3
>>778
はい
2019/01/20(日) 19:25:20.95ID:vla32kuj
PythonオンリーならPyCharmで十分。
2019/01/20(日) 19:30:01.26ID:TQeakhfS
PyCharmは無料なら全くVSCodeに及ばないし、有料なら年間200ドル
2019/01/20(日) 19:49:15.61ID:T1vmECdh
何も資料とか見ずにガンガンコード書ける人ってすごい
頭の良さももちろんあるんだろうけど何やったらそんな風になれるんだろうか
2019/01/20(日) 19:57:15.87ID:TQeakhfS
>>782
同じような仕事ばかりやってればできるよ
もっと有能な人は色々やるから最低限リファレンスは見る
2019/01/20(日) 20:51:29.11ID:T1vmECdh
>>783
やっぱり経験が大切ということですか
もっとコーディング出来るようになりたいけど自分の力だけでは何も出来ないので写経でも色んな人の見てみます
2019/01/20(日) 22:34:38.75ID:LJVfASUC
>>782
逆に常に資料を見て書くようにするといい
そのうち面倒臭くなって資料を読まなくなる
2019/01/20(日) 22:41:08.38ID:q8oAKNle
>>776
>意外と複雑
並みレベルの奴なら>>763ぐらいのことは楽にできるんだろう。
そうしないと実用的プログラムは作れないだろうし。
でも、超初心者用にたむろする俺らでは実力低くてこの程度の(複雑)ものでも四苦八苦
2019/01/20(日) 22:45:24.70ID:q8oAKNle
書き忘れたが、参考
https://teratail.com/questions/157006
788デフォルトの名無しさん
垢版 |
2019/01/20(日) 23:41:39.53ID:908nBzg3
vscodeダウンロードしました
これってIDLEみたいな >> ってついてる対話型モードはあるの?
それとエディター画面でf5押したらそれで動くの?
2019/01/20(日) 23:49:39.98ID:wmj9P7Ny
>>788
Ctrl+Shift+P → Show integrated terminal で ipython とか実行したらいい
790デフォルトの名無しさん
垢版 |
2019/01/21(月) 00:02:45.85ID:nySCPf/B
>>789
ありがとー
791デフォルトの名無しさん
垢版 |
2019/01/21(月) 01:20:36.98ID:nySCPf/B
あのーターミナルでよくわからないけど
pwd
したら 

C:\Users\ssss

PS C:\Users\ssss>[]

こうなったの
¥はバックスラッシュです
これってたぶんファイル置いてる場所だとおもうんだけども
このVSCODEはE\Microsoft VS Codeっていうフォルダにいれてます
どうして Ç: に pass とかいうのがあるんでしょうか?
勉強中だからどうでもいいといえばそうなんですがきになったの
たぶんプログラムの練習して.pyのファイル保存しても容量とかほとんど消費しないからきにしなくてもいいんでしょうか?
2019/01/21(月) 01:49:16.11ID:j/sdkegO
なんか微妙に意味がわからんが、

パスとは「通り道」のことで、Pythonをインストールした場合、指定しないと、
Windowsの仕様によりCドライブの下のユーザーの所に保存フォルダが作られるものだ。
パソコンの利用者が一人だと勘違いしやすいが、マルチユーザーだと考えると、
ユーザーごとに保存場所が作られると思った方が適切。

あと、ソフトでデカいのはデータであってプログラムはそんなに大きくならない。
793デフォルトの名無しさん
垢版 |
2019/01/21(月) 02:00:09.30ID:nySCPf/B
わかりました
くわしくありがとです
2019/01/21(月) 21:24:49.49ID:mEBdwP2z
VSCode なら、左のファイル名の上で、右クリックメニューから、ターミナルを開けば、

そのファイルがあるフォルダをカレントフォルダにして、PowerShell などのシェルを起動できる
795デフォルトの名無しさん
垢版 |
2019/01/22(火) 14:01:48.14ID:sA4OhKxo
venvでいいじゃん
デフォでついてっし
2019/01/23(水) 08:17:37.22ID:IWeeOB2O
pipenvを標準にしてほしいわ
2019/01/24(木) 17:15:44.97ID:4Ds7lc/x
にゃほん語版のpython3は、動画であるが、
tkinterの動画はないので、よろしく。
798デフォルトの名無しさん
垢版 |
2019/01/25(金) 07:53:52.55ID:nPtAcJ1D
https://github.com/ayooshkathuria/pytorch-yolo-v3/blob/master/cam_demo.py

このスクリプトを手元PCのカメラで自動検知させてる時に personが複数人表示された時にアラートを表示させるにはどうすればいいですか?

Version3.6で
openCVとかも入っておりバッチリ動作はします
799デフォルトの名無しさん
垢版 |
2019/01/25(金) 10:47:36.70ID:kAi7vJ5U
outputを走査してPersonの数を数えれば良いのでは
(write関数が参考になりそう)
800デフォルトの名無しさん
垢版 |
2019/01/25(金) 11:21:59.21ID:nTExwXep
まるちんこ
801デフォルトの名無しさん
垢版 |
2019/01/25(金) 11:43:17.76ID:EnRgcOgq
>>797
https://www.slideshare.net/nyaocat/tcltk-12234163
802デフォルトの名無しさん
垢版 |
2019/01/25(金) 13:04:07.39ID:fm2fYf6e
>>799
詳しく教えていただけないでしょうか
2019/01/25(金) 15:12:54.51ID:20YqiASu
>>802
マルチポストするやつにはおしえないぞ
2019/01/26(土) 11:30:30.45ID:qwVPmKW+
pythonをバイトコンパイルして依存関係があっても他の環境で実行する方法ってありませんか?
ubuntuで書いたpython3.6.6のコードをpython3.6.6が入っているRaspberry Pi上で実行したいです
しかしpythonのコードではpandasを使用しており、そのままRaspberry Pi上で実行しても
Nomodule errorが表示されてしまいRaspberry Pi上で実行することができません
numpyとpandasをRaspberry Piに入れようとしても失敗してしまいました

そのため、Ubuntu上でライブラリのモジュールも含めてコンパイルして、pythonが入っている環境ならどこでも実行できるようにしたいのですが、
そういったやり方ってないのでしょうか?

一応これを参考にやってみましたが、エラー(Nomodule error)が出てしまいました
https://qiita.com/sh-o/items/c0bc07a49c1939742569
2019/01/26(土) 11:57:47.97ID:6Y5DNdo8
>>804
pandas はpipで入るよ
クソ時間かかるから画面止まったままになるけど 一晩か一日くらい放置しとけば入ってた
806デフォルトの名無しさん
垢版 |
2019/01/26(土) 15:02:13.05ID:yVAkGzul
>>804
機種依存が高すぎてコンパイルしないといけないモジュールとかは
それ用にバイナリが配布されてることが多いのでそこから入れる
2019/01/26(土) 17:40:23.30ID:qwVPmKW+
>>805
マジだった…5時間ぐらい放置してたらできてた
やっぱラズパイ新しいの買おうかなー
2019/01/26(土) 18:56:00.75ID:6Y5DNdo8
>>807
3Bでも遅いから買い替えても早くならんでしょ
aptを使うと早いらしい

参考URL貼れないから pandas apt からあげ でググってくれ
2019/01/26(土) 19:16:15.97ID:exLOU4gz
CPU-i7, 8000 番台で、6コア・ 12スレッド!

これで並列コア数に、スレッド + 1 = 13 を指定できる

だから開発者のPC は、コア数が多い、i7 が良い
2019/01/26(土) 19:31:06.11ID:dHIToznV
>>805
>クソ時間かかるから画面止まったままになるけど 一晩か一日くらい放置しとけば入ってた
pipインストールでこんなに時間かかる理由は何なんだ?
pipインストール中にコンパイルを必死しているからとか?
811デフォルトの名無しさん
垢版 |
2019/01/26(土) 19:31:06.98ID:yjEM6jYv
スクレイピングをしたいのですが途中でエラーが発生してしまい躓いてしまいました。
パーサーの部分がおかしいのかと思い、パーサーを指定して実行してもエラーになってしまいました。
以下にソースとエラーを貼ります。
import requests
from bs4 import BeautifulSoup
target_url="http://hoge.com";
r=requests.get(target_url)
soup=BeautifulSoup(r,'html.parser')

error内容:
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
soup = BeautifulSoup(r, "html.parser")
File "C:\Users\hoge\AppData\Local\Programs\Python\Python36-32\lib\site-packages\bs4\__init__.py", line 192, in __init__
elif len(markup) <= 256 and (
TypeError: object of type 'Response' has no len()
2019/01/26(土) 20:07:05.75ID:YJjuroox
詳しく知らないけどrをそのまま渡してはいけないんじゃないの?
r.textかr.contentでなくて?
813デフォルトの名無しさん
垢版 |
2019/01/26(土) 20:35:12.22ID:yjEM6jYv
>>812
ありがとう
解決したよ
814デフォルトの名無しさん
垢版 |
2019/01/26(土) 21:37:37.27ID:T/MUSNDM
俺もスクレイピングの質問していいですか。。。
今find_all使って抽出したいデータがあって、それがfontタグの中にあるcolor="******"の値なんです。要はこの******の部分だけ抜き出したい。
だけどタグの抽出は書いてあってもここの値の抽出が上手く出来なくって困ってる。
正確には、<font class="hoge" color="******">hoge1</font>ってな感じになっている。
可能な限りfind_allを使いたいのだがPython使いのお方助けてください。
815デフォルトの名無しさん
垢版 |
2019/01/26(土) 22:13:07.92ID:uSJt/X2/
>>814
スクレイピングてなんや?ストリーキングやぞ
必要なんは勇気だけや勇気一つで世界が変わるで
2019/01/26(土) 22:22:17.83ID:Z5/dnuh6
>>814
find_allでは無理
全能の神でも無理
2019/01/26(土) 22:29:02.03ID:exLOU4gz
Rubyで、Nokogir, selenium-webdriver なら、

font_nodes = driver.find_elements( :css, "font.hoge" ) # hoge クラスのfont 要素

font_nodes.each do | elem | # 各 font 要素
puts elem.attribute( 'color' ) # 属性値
end
818デフォルトの名無しさん
垢版 |
2019/01/26(土) 22:29:05.26ID:uSJt/X2/
>>816
ここは初心者が質問するスレやけど初心者が答えるスレではないで
ましてやバカのおまえは黙っといた方が身のためやでw
2019/01/26(土) 22:30:16.44ID:WAjm2JyT
>>818
ガイガイジは静かにしてろ
820デフォルトの名無しさん
垢版 |
2019/01/26(土) 22:31:30.05ID:uSJt/X2/
>>819
マネすんなバカw
2019/01/26(土) 22:37:01.57ID:WAjm2JyT
あガガイのガイw
822デフォルトの名無しさん
垢版 |
2019/01/26(土) 22:40:36.79ID:uSJt/X2/
スレに一部バカのID:WAjm2JyTによるノイズが発生しておりますが
ひきつづき>>814の質問を継続しております
2019/01/26(土) 22:48:57.74ID:Z5/dnuh6
無能に無理を理解させるのは無理だなぁ
824デフォルトの名無しさん
垢版 |
2019/01/26(土) 22:54:02.77ID:uSJt/X2/
>>823
あれあれ?バカは黙っとる約束やなかったか?
もう忘れたんかwバカやからw
2019/01/26(土) 23:01:49.43ID:1cmIPtHH
[x.get('color') for x in find_all('font')]
とかは?
826デフォルトの名無しさん
垢版 |
2019/01/26(土) 23:40:56.24ID:T/MUSNDM
>>817
ruby...ですか、、ありがとうございます。ヒントになるかもしれないので参考にさせて頂きます。
>>825
その文法が理解出来てないんですが色々見たサンプルコードにもそういう記述があったような…今出てる中で1番有力ぽいです
requestで取得したhtmlをreqに入れた後にreq.textをbeautifulsoupでsoupに入れたんですが、その後をどう繋げればいいですか?
提示して頂いたコードのxをsoupに書き換えたりして試してみたりしたんですが理解してないもんで上手く動かせませんでした…
[とかはコード部分と区別するために書いただけでプログラムに書くときには省くんでしょうか?
すみません、本当に分からないもんで教えてください
2019/01/26(土) 23:46:57.42ID:c55xysBf
>>826
rubyは有名な荒らしなんでお礼は不要
828817
垢版 |
2019/01/27(日) 00:10:31.08ID:biLrTPET
「python beautifulsoup example」で検索!
試していないけど、こんな感じ?

for elem in soup.find_all("font", class_="hoge"):
  print(elem.get('color')) #属性を表示

>>817
のRuby も、参考にして
2019/01/27(日) 00:25:00.84ID:ymbY/x9G
情報処理技術者試験にPythonが採用されて、Rubyが落ちた件についてどうですか?
2019/01/27(日) 01:01:32.35ID:EmabfhTN
Rubyが一方的にPythonを敵視しているだけ
あんなオワコン言語Python使いは気にもかけてないよ
2019/01/27(日) 01:41:32.13ID:z0hosMYm
>>826
SeleniumはJava製のソフト。Rupyは関係ない。Rudy用のドライバよりよくメンテされてて使用者も多いPython用のドライバがある。
2019/01/27(日) 01:47:19.17ID:ueJKJdNv
>>826
ごめんfind_allの前にパーサーの指定するの抜けてた。角カッコはリスト内包表記なので省略しないでね。
パーサーをsoupに入れてあるなら、

[x.get('color') for x in soup.find_all('font')]

かな。まずsoup.find_allで「font」タグを全部拾い上げる。そしてリスト内包表記

[x.関数(引数) for x in Y]

は、Yの要素を一つずつ順番にxに入れて、x.関数(引数)を実行した結果を全部入れたリストを作る、ということ。

これを使って、x.get('color')のところでxが保持するタグのcolor属性の値を取得して、その結果をリスト化するわけ。
2019/01/27(日) 03:33:49.05ID:z0hosMYm
へぇ、jQueryの
$('font').map((i, el) => $(el).attr('color'))
やjavascriptの
[...document.querySelectorAll`font`].map(el => el.getAttribute`color`)
と違って右から読んでくんだね!
834デフォルトの名無しさん
垢版 |
2019/01/27(日) 06:22:40.11ID:HDWoufzo
>>829
Rubyωだとデータサイエンティストωωを養成出来ないから当然そうなる
2019/01/27(日) 09:39:06.73ID:G1rGysG6
>>808
ちなaptもやって入れた場合もNoModuleError出ました
836デフォルトの名無しさん
垢版 |
2019/01/27(日) 13:36:16.02ID:U/yEcX/C
>>831
なるほどなるほどselenium便利そうだったらこれから使ってみます!ありがとう
>>832
見事成功しました!!
プログラマー、ハッカーの皆さんに感謝です…!
837工学部生
垢版 |
2019/01/27(日) 16:59:28.64ID:D/TiRHxE
import re # reをインポートする 
text1 = "たろうくんは3/12にだいこんを3個買いました。"
text2 = "おとはちゃんは11/10にまつたけを1箱買いました。"
text3 = "くにおみくんは9/4に書籍「をかん」を買いました。"

#t1,t2,t3 日付ごとに分ける


# 単一ルールで処理する
rule = r"(.*)(くん|ちゃん)は([0-9/]+)に(.*)を([0-9]+.)?買いました"



# 正規表現で情報を取得する
t1 = re.match(rule, text1).groups()
t2 = re.match(rule, text2).groups()
#空白でも、全角スペースエラー
t3 = re.match(rule, text3).groups()
#.match().groups()でマッチした文字列を取り出す。
838工学部生
垢版 |
2019/01/27(日) 17:00:14.55ID:D/TiRHxE
>>837の続き、

実行結果

日付:3/12 購入者:たろう 物品:だいこん
日付:11/10 購入者:おとは 物品:まつたけ
日付:9/4 購入者:くにおみ 物品:書籍「をかん」

質問1    r"    "って何?
質問2   
rule = r"(.*)(くん|ちゃん)は([0-9/]+)に(.*)を([0-9]+.)?買いました"
これでなんでこういう答えになる?
839工学部生
垢版 |
2019/01/27(日) 18:06:53.59ID:D/TiRHxE
>>837
表示するプログラム抜けてましたm()m


# 結果を表示する
print("日付:{} 購入者:{} 物品:{}".format(t1[2], t1[0], t1[3])) # 日付:3/12 購入者:たろう 物品:だいこん
print("日付:{} 購入者:{} 物品:{}".format(t2[2], t2[0], t2[3])) # 日付:11/10 購入者:おとは 物品:まつたけ
print("日付:{} 購入者:{} 物品:{}".format(t3[2], t3[0], t3[3])) # 日付:9/4 購入者:くにおみ 物品:にんにく
2019/01/27(日) 18:08:17.12ID:0ZQWvt7G
python3.7.1

import re
s1 = 'tka_z1a'
s2 = re.sub(r'^t(..)_(..)', r'\1\\\2', s1)
print(s2)

>ka\z1a

これどうしてs2はka_z1にならないんでしょうか
..で二文字だって言ってるのに
2019/01/27(日) 18:09:19.87ID:0ZQWvt7G
訂正
×これどうしてs2はka_z1にならないんでしょうか
○これどうしてs2はka\z1にならないんでしょうか
2019/01/27(日) 18:28:52.24ID:5DHtGtFO
>>838
> 質問1    r"    "って何?
簡単に言うと文字列中のエスケープ処理をしないってこと
この辺りを一通り読んでみて
https://docs.python.jp/3/library/re.html

> 質問2
text1: (たろう)(くん)は(3/12)に(だいこん)を(3)個買いました。
text2: (おとは)(ちゃん)は(11/10)に(まつたけ)を(1)箱買いました。
text3: (くにおみ)(くん)は(9/4)に(書籍「をかん」)を()買いました。
って解釈されてる
2019/01/27(日) 18:29:37.67ID:0ZQWvt7G
はぁー、r'^t(..)_(..).*'にしないといかんかったのか
844工学部生
垢版 |
2019/01/27(日) 22:28:09.19ID:D/TiRHxE
>>842

大変、ありがとうございましたm()m
期末に向けて、小テストのできなかったところ見直ししてます。
845工学部生
垢版 |
2019/01/27(日) 22:44:45.44ID:D/TiRHxE
>>842
()ごとにブロック化されているようですね。

その紹介されているサイトはかなり詳しくて良いサイトですが、
まだ初学者には読解力がなく読み進めるのは大変ですが、読み進められるように頑張ります。
2019/01/28(月) 05:01:56.86ID:rH2Ybsnt
工学部生さんはこのスレにちょくちょく出てくるけど、Stackoverflowとか読めるくらいの英語力はあるの?
2019/01/28(月) 05:26:59.84ID:IMAzKSYX
そいつは、色んなスレを荒らしてる、荒らし

相手にするな!
2019/01/28(月) 10:30:58.08ID:8/ETu27K
PythonでPowerAppsのようなDBを作成することは可能でしょうか?
SQLのほうがいいのかもしれませんが。
よろしくお願いします。
2019/01/28(月) 10:47:39.91ID:IDkqEgFl
>>848
自分で作れるか作れないか分かる
2019/01/28(月) 11:04:34.32ID:7NXeXRfB
pip listを実行しようとしたら、pip.confいじれよって警告と
おめー9.0.3使ってっけど最新は19.0.1だからアップグレードしろボケってメッセージが出たので
pip install --upgrade pip
と実行したら下記のエラーが出ました

Exception:
Traceback (most recent call last):
File "c:\python36\lib\shutil.py", line 387, in _rmtree_unsafe
os.unlink(fullname)
PermissionError: [WinError 5] アクセスが拒否されました。: 'C:\\Users\\"ユーザー名"\\AppData\\Local\\Temp\\pip-t159l_cb-uninstall\\python36\\scripts\\pip.exe'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
以下略

ただ、このメッセージの後にpip listと打ったらpipのバージョンが19.0.1と出たので
アップグレードには成功しているっぽいのですが
どうしたらいいんでしょうか
このままほっぽらかして良いんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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