当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その57
■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
792デフォルトの名無しさん
2022/08/11(木) 12:26:10.60ID:fKEJQx+N https://i.imgur.com/HJTruLr.png
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
793デフォルトの名無しさん
2022/08/11(木) 12:46:20.99ID:7cUH/Z7I ×(かける)じゃなくて x(エックス)じゃねーの?
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
794デフォルトの名無しさん
2022/08/11(木) 13:47:35.08ID:fKEJQx+N >>793
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
795デフォルトの名無しさん
2022/08/11(木) 13:58:15.94ID:7cUH/Z7I エラーもコピペしてくれよ...
796デフォルトの名無しさん
2022/08/11(木) 14:07:01.78ID:fKEJQx+N >>795
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
797デフォルトの名無しさん
2022/08/11(木) 15:00:05.18ID:7cUH/Z7I798デフォルトの名無しさん
2022/08/11(木) 15:15:10.72ID:fKEJQx+N799デフォルトの名無しさん
2022/08/11(木) 15:27:49.52ID:JwgkCgjA めちゃ無駄だけど1024x768以外の画像は捨てちゃうぐらいしか思いつかん...
800デフォルトの名無しさん
2022/08/11(木) 16:47:42.06ID:X31RE6bn >>798
できました、min_sizeとmax_sizeも指定する必要があるみたいです
Python3.10でやりました、TypeErrorにはなりませんでした
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10, min_size=(1024, 768), max_size=(1024, 768))
できました、min_sizeとmax_sizeも指定する必要があるみたいです
Python3.10でやりました、TypeErrorにはなりませんでした
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10, min_size=(1024, 768), max_size=(1024, 768))
801デフォルトの名無しさん
2022/08/11(木) 18:48:40.17ID:fKEJQx+N >>800
ありがとうございます。早速、試してみましたが、
バージョン違いのためかNameError となりました。
現在、Python 3.9.12 のバージョンなのですが、
ColabでPython3.10にするにはどうすればいいですか?
ありがとうございます。早速、試してみましたが、
バージョン違いのためかNameError となりました。
現在、Python 3.9.12 のバージョンなのですが、
ColabでPython3.10にするにはどうすればいいですか?
802デフォルトの名無しさん
2022/08/11(木) 18:56:22.30ID:X31RE6bn エラーもコピペしてくれよ...
803デフォルトの名無しさん
2022/08/11(木) 19:26:39.81ID:L6VcpDZr バージョン違いって断定してるんだからそれでいいだろ
他の可能性を検討しようとするなよ
他の可能性を検討しようとするなよ
804デフォルトの名無しさん
2022/08/11(木) 19:33:40.56ID:RPSv5K1g そんな能力あるのになんでColabのバージョンは変えられないの?
805デフォルトの名無しさん
2022/08/11(木) 19:36:46.54ID:X31RE6bn806デフォルトの名無しさん
2022/08/11(木) 19:38:03.60ID:m6fa3uRQ windowsの3.9.13でも問題ないな
ちゃんとgoogleの検索結果取得できてないか、htmlパースに使ってるbeautifulsoup4かlxmlがおかしいかかな
ちゃんとgoogleの検索結果取得できてないか、htmlパースに使ってるbeautifulsoup4かlxmlがおかしいかかな
807デフォルトの名無しさん
2022/08/11(木) 20:01:15.15ID:X31RE6bn808デフォルトの名無しさん
2022/08/11(木) 20:18:34.40ID:fKEJQx+N809デフォルトの名無しさん
2022/08/11(木) 20:24:18.19ID:7cUH/Z7I810デフォルトの名無しさん
2022/08/11(木) 20:25:02.29ID:7cUH/Z7I811デフォルトの名無しさん
2022/08/12(金) 05:55:29.63ID:vrgQH6RZ (超初心者用)
812デフォルトの名無しさん
2022/08/12(金) 11:12:46.10ID:OS8SYcAO jupyternotebookでセル内のコードが長くなるため,
defで定義した関数を同一ディレクトリ内のmy_func.pyに保存し
メインのコードmain.py 内でimportすることにしました.
my_func.pyに保存した関数内では,numpyを使っているのですが,numpyが認識されません.
main.py でnumpyをインポートしていますが,その効果をmy_func.py内に待避した関数に及ばせるためには
どうすればよいでしょうか.
defで定義した関数を同一ディレクトリ内のmy_func.pyに保存し
メインのコードmain.py 内でimportすることにしました.
my_func.pyに保存した関数内では,numpyを使っているのですが,numpyが認識されません.
main.py でnumpyをインポートしていますが,その効果をmy_func.py内に待避した関数に及ばせるためには
どうすればよいでしょうか.
813デフォルトの名無しさん
2022/08/12(金) 11:54:38.42ID:V16IFZ6j my_func.pyでnumpyをインポート
814デフォルトの名無しさん
2022/08/12(金) 13:39:22.16ID:f9Pn84YJ815デフォルトの名無しさん
2022/08/12(金) 14:10:01.68ID:AKRIAlbQ main.pyでnumpyを使っていなければいらない
816デフォルトの名無しさん
2022/08/12(金) 15:01:37.64ID:P/MIlql5 そのライブラリを直接呼ぶコードがあるファイル毎にimportする。直接呼ばないなら不要
main.py
__import funcs
__funcs.test()
funcs.py
__import numpy
__def test():
____print(numpy.random.randint(0, 10))
main.py
__import funcs
__funcs.test()
funcs.py
__import numpy
__def test():
____print(numpy.random.randint(0, 10))
817デフォルトの名無しさん
2022/08/12(金) 15:14:18.69ID:f9Pn84YJ818101
2022/08/12(金) 16:36:29.89ID:SBMPsz73 普通、FunctionalをFucって略すか?
幻塔というゲームのテスト用のサーバーネームが
JP Fuc Test Server
だったらしく炎上してた
幻塔というゲームのテスト用のサーバーネームが
JP Fuc Test Server
だったらしく炎上してた
819デフォルトの名無しさん
2022/08/13(土) 03:28:02.47ID:nuG2c1c/ mypyでエラーにならないように pathlib.Path の型を示したいんだが、これはどうすりゃいいのかね?
type()でチェックすると
<class 'pathlib.WindowsPath'>
となるんだが pathlib.WindowsPath と指定してもエラー出るし
type()でチェックすると
<class 'pathlib.WindowsPath'>
となるんだが pathlib.WindowsPath と指定してもエラー出るし
820デフォルトの名無しさん
2022/08/13(土) 03:32:04.91ID:nuG2c1c/ 動的な基底クラスはmypyでチェックできないって言ってる人がいたわ
そういうことなのか?
そういうことなのか?
821デフォルトの名無しさん
2022/08/13(土) 03:54:53.99ID:xLCZiP8v pylanceだとpathlib.Pathでいけるけどmypyあかんか?
822デフォルトの名無しさん
2022/08/13(土) 07:30:43.65ID:nuG2c1c/823デフォルトの名無しさん
2022/08/14(日) 04:23:42.79ID:aYzApZcG pythonでcuda使いたいが、お勧めのサイトありますか?
ちなみにcudaは3090とかの方がいいですか?
ちなみにcudaは3090とかの方がいいですか?
824デフォルトの名無しさん
2022/08/14(日) 09:47:31.64ID:7VRuM4Xa にほんごでおk
825デフォルトの名無しさん
2022/08/14(日) 10:12:56.20ID:A6qxvdf0 [python cuda]🔍
826デフォルトの名無しさん
2022/08/14(日) 11:25:05.75ID:Gnb69e0i Noneの比較はis を使うべきで==を使うべき"でない"なんて記述を見かけるのですが、
if dictData.get('key') == 'hogehoge':
__echo 'OK'
例として辞書のgetメソッドのようにキーが無ければNoneを返すような場合で上記のような判定もすべき"でない"のでしょうか?
この場合dictData.get('key', '')のように、キーが見つからない場合の値を明示的に書くべき?
(ただdict.get()のようにコントロールできないのもありますよね)
if dictData.get('key') == 'hogehoge':
__echo 'OK'
例として辞書のgetメソッドのようにキーが無ければNoneを返すような場合で上記のような判定もすべき"でない"のでしょうか?
この場合dictData.get('key', '')のように、キーが見つからない場合の値を明示的に書くべき?
(ただdict.get()のようにコントロールできないのもありますよね)
827デフォルトの名無しさん
2022/08/14(日) 12:06:39.34ID:KzxSNF0d if hoge is None:
こんな風に定数Noneと比較する場合の話だよ
こんな風に定数Noneと比較する場合の話だよ
828デフォルトの名無しさん
2022/08/14(日) 12:18:23.17ID:T9w5rPHY Noneを==すると稀にNone==None ->Falseあるから避けよう。バグのもと。これはググれば解説あるから読んで
で、普通は
if dic.get('key') == 'foo':
__func()
だけでしょう。あればする、なければ終わり
if dic.get('key') == 'foo':
__func()
else:
__func_b()
でもいいけど。
基本的にNoneやFalseを判定しにいかない。まずTrue判定をして、その反対をelse (if)で受ける
ただまあNone / Falseだけを知りたい場合があって
そのときは
if dic.get('key') is None:
__func()
などと書く。英文として読みやすいからよい
つか辞書から無い可能性あるkeyのgetは避けたい
db検索的に書きたいならget使わずtry節書いてKeyError専用処理作ろう
で、普通は
if dic.get('key') == 'foo':
__func()
だけでしょう。あればする、なければ終わり
if dic.get('key') == 'foo':
__func()
else:
__func_b()
でもいいけど。
基本的にNoneやFalseを判定しにいかない。まずTrue判定をして、その反対をelse (if)で受ける
ただまあNone / Falseだけを知りたい場合があって
そのときは
if dic.get('key') is None:
__func()
などと書く。英文として読みやすいからよい
つか辞書から無い可能性あるkeyのgetは避けたい
db検索的に書きたいならget使わずtry節書いてKeyError専用処理作ろう
829デフォルトの名無しさん
2022/08/14(日) 12:29:39.79ID:Gnb69e0i830デフォルトの名無しさん
2022/08/14(日) 12:34:40.20ID:Gnb69e0i >>828
あ、やっぱりすみません、最後のget使うべきでない理由って簡単に教えていただけますか?
今回、API等の応答で、辞書の目的のキーがあったりなかったりするような応答で、キーがあれば拾う、無ければ無視、という単純なものなのですが、それでもgetは使わないほうが良かったりしますか?
あ、やっぱりすみません、最後のget使うべきでない理由って簡単に教えていただけますか?
今回、API等の応答で、辞書の目的のキーがあったりなかったりするような応答で、キーがあれば拾う、無ければ無視、という単純なものなのですが、それでもgetは使わないほうが良かったりしますか?
831デフォルトの名無しさん
2022/08/14(日) 12:41:52.12ID:VI2zLni0 >>682
1000%同意する
1000%同意する
832デフォルトの名無しさん
2022/08/14(日) 12:45:09.72ID:Xz0meKRj >>830
dict['key']が存在してvalueがNoneの場合にTrueになっちゃうから、キーの不存在判定だけしたいなら'key' in dictの方がいいんじゃないかな
dict['key']が存在してvalueがNoneの場合にTrueになっちゃうから、キーの不存在判定だけしたいなら'key' in dictの方がいいんじゃないかな
833デフォルトの名無しさん
2022/08/14(日) 12:50:22.70ID:T9w5rPHY >>830
エラーは出ていいんよ
逆に握りつぶしちゃいけない
というかgetってなんのためにあるんだ?
try:
__dic[input()]:
____print('ある')
except KeyError:
__print('ねえわ')
except Exception as e:
__print(e.__class__.__name__)
外部入力受け付けるのって鬼門なんでこういう感じで書きたい
keyerrorは想定できるし、別の意図してないエラーも拾いたいだしょ
エラーは出ていいんよ
逆に握りつぶしちゃいけない
というかgetってなんのためにあるんだ?
try:
__dic[input()]:
____print('ある')
except KeyError:
__print('ねえわ')
except Exception as e:
__print(e.__class__.__name__)
外部入力受け付けるのって鬼門なんでこういう感じで書きたい
keyerrorは想定できるし、別の意図してないエラーも拾いたいだしょ
834デフォルトの名無しさん
2022/08/14(日) 12:51:39.01ID:T9w5rPHY835デフォルトの名無しさん
2022/08/14(日) 12:53:45.52ID:A6qxvdf0836デフォルトの名無しさん
2022/08/14(日) 15:22:06.37ID:nJs5efs8 キーに階層があって、途中のキーがなかったりすることがある場合なんかだと、
区別する実益はあるかもしれんね
一応、.get('key', {}) なんて方法もあるけど
区別する実益はあるかもしれんね
一応、.get('key', {}) なんて方法もあるけど
837デフォルトの名無しさん
2022/08/14(日) 15:22:39.42ID:Gnb69e0i838デフォルトの名無しさん
2022/08/14(日) 16:52:51.09ID:T9w5rPHY ああわかった
db['key1': 0, 'key2':0,,,]
if key1:
__print('ある')
else:
__print('ない')
こんときgetじゃないといかんのだな
あるいは
try:
__value = db[a'']
__print('ある')
except KeyError:
__print('ない')
except:
__print('未定義エラー')
db['key1': 0, 'key2':0,,,]
if key1:
__print('ある')
else:
__print('ない')
こんときgetじゃないといかんのだな
あるいは
try:
__value = db[a'']
__print('ある')
except KeyError:
__print('ない')
except:
__print('未定義エラー')
839デフォルトの名無しさん
2022/08/14(日) 22:47:50.08ID:549c+n4K Ruby の偽は、nil, false だけ。
これ以外は真
でも、Python, PHP, JavaScript などは、
各型に偽値がある。空文字列・空配列・空辞書など
だから、とんでもなくバグるし難しい。
すべての型の可能性を考えないといけない
文字列型・配列型・辞書型ならとか。
だから、TypeScript みたいな型チェックツールが作られた
これ以外は真
でも、Python, PHP, JavaScript などは、
各型に偽値がある。空文字列・空配列・空辞書など
だから、とんでもなくバグるし難しい。
すべての型の可能性を考えないといけない
文字列型・配列型・辞書型ならとか。
だから、TypeScript みたいな型チェックツールが作られた
840デフォルトの名無しさん
2022/08/14(日) 22:57:22.86ID:I2sSNpX6 >>839
死ね
死ね
841デフォルトの名無しさん
2022/08/15(月) 09:22:07.96ID:c1YCm0IS >>838
どういうこと?
どういうこと?
842デフォルトの名無しさん
2022/08/15(月) 13:07:09.65ID:RvdaGkLE >>841
dict['key'] = value
と
dict.get('key') = value
取得したvalueがFalseになるとき、つまり0とかNoneとか空白のとき
if dict['key'] is not True になる。値はあるにも関わらず
一方
if dict.get('key') is Ture なので、期待する挙動としてはgetのが正しい
値がダミー(0など)の辞書の用意とかありうるので
dict['key'] = value
と
dict.get('key') = value
取得したvalueがFalseになるとき、つまり0とかNoneとか空白のとき
if dict['key'] is not True になる。値はあるにも関わらず
一方
if dict.get('key') is Ture なので、期待する挙動としてはgetのが正しい
値がダミー(0など)の辞書の用意とかありうるので
843デフォルトの名無しさん
2022/08/15(月) 14:06:42.23ID:0GtlIRwB ああそういうことか
re.matchとかre.searchみたいなことをやりたいのか
辞書のキーがあるかないかbooleanの判定と値への処理は別の方がいいと思う
if 'key' in dでもKeyError処理はどっちでもいいけど
re.matchとかre.searchみたいなことをやりたいのか
辞書のキーがあるかないかbooleanの判定と値への処理は別の方がいいと思う
if 'key' in dでもKeyError処理はどっちでもいいけど
844デフォルトの名無しさん
2022/08/15(月) 15:15:52.94ID:gMKahu5b >>842
keyに対するvalueが0やNoneの時に
dict.get(key) is Trueにはならんやろ
dict.get(key, [default])を使うのは
keyに対応する値がデフォルト値の場合と
keyに対応する値が無くてデフォルト値が返される場合を同じように処理したい時だけ
bool判定したいならin演算子
KeyError使うのはkeyが存在しない状況が例外的な場合
keyに対するvalueが0やNoneの時に
dict.get(key) is Trueにはならんやろ
dict.get(key, [default])を使うのは
keyに対応する値がデフォルト値の場合と
keyに対応する値が無くてデフォルト値が返される場合を同じように処理したい時だけ
bool判定したいならin演算子
KeyError使うのはkeyが存在しない状況が例外的な場合
845デフォルトの名無しさん
2022/08/15(月) 15:38:01.56ID:RvdaGkLE846デフォルトの名無しさん
2022/08/15(月) 19:52:08.21ID:KlKo2Eqq わざわざメソッドとして用意されるほどの価値がないんだよなあ
2時代は重宝したのかな
2時代は重宝したのかな
847デフォルトの名無しさん
2022/08/15(月) 20:37:42.59ID:Xxg2cjph if (val := dic.get(key)) is not None:
は使うけどな
は使うけどな
848デフォルトの名無しさん
2022/08/16(火) 04:15:40.22ID:MkpTU7zo 次のコードがあります
h=[[[]]]*10
h[0].append([0,0])
理想としては
>[[[], [0, 0]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]]]
となってほしいのですが、現実は
>[[[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]]]
となってしまいます
どうしたら理想の形になるでしょうか?
h=[[[]]]*10
h[0].append([0,0])
理想としては
>[[[], [0, 0]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]]]
となってほしいのですが、現実は
>[[[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]]]
となってしまいます
どうしたら理想の形になるでしょうか?
849デフォルトの名無しさん
2022/08/16(火) 07:26:37.30ID:GKkpSlmU 内包表記使って初期化
850デフォルトの名無しさん
2022/08/16(火) 08:04:39.39ID:9vnyTUy7 [[[], [0, 0]] if i == 0 else [[]] for i in range(10)]
851デフォルトの名無しさん
2022/08/16(火) 08:06:35.47ID:9vnyTUy7 h=[[[]] for i in range(10)]
h[0].append([0,0])
h[0].append([0,0])
852デフォルトの名無しさん
2022/08/16(火) 11:31:22.44ID:2x3mrzZQ 要件後出しまくりとか
ゴールポスト移動させまくりとか
チョンメンタルの香具師とは付き合いたくないな
ゴールポスト移動させまくりとか
チョンメンタルの香具師とは付き合いたくないな
853デフォルトの名無しさん
2022/08/17(水) 13:20:06.97ID:5W303LUa 差別主義者で今どき香具師とか使ってるジジイとか逆に誰も付き合いたくないだろ
854デフォルトの名無しさん
2022/08/17(水) 16:37:01.73ID:tMNGLQPx pandas のread_excelで式が入っている箇所の値を計算値ではなく、
整形されたテキスト値の方を取りたい場合はどうしたら良いのでしょうか?
数値で6.6がテキスト値として”7”として表示されている”7”の方の値をとりたいです。
整形されたテキスト値の方を取りたい場合はどうしたら良いのでしょうか?
数値で6.6がテキスト値として”7”として表示されている”7”の方の値をとりたいです。
855デフォルトの名無しさん
2022/08/17(水) 18:19:41.22ID:8E4xUz8+ >>854
Excelファイル内のデータとしてあるのは数値の6.6だけで
文字列の7という値はデータとしてファイルには存在しないので
直接読み取るのは無理
read_excelでdtypeやconverterを指定して数値の6.6を文字列の7に変換するか
一旦dfに読んでから変換するか
Excelファイル内のデータとしてあるのは数値の6.6だけで
文字列の7という値はデータとしてファイルには存在しないので
直接読み取るのは無理
read_excelでdtypeやconverterを指定して数値の6.6を文字列の7に変換するか
一旦dfに読んでから変換するか
856デフォルトの名無しさん
2022/08/18(木) 04:13:52.58ID:OEqoy/Kx 0.00000001から10000.xxxxくらいまで取り得るfloatの変数を、数字の表記で文字列に変えたいのですが、
str()だと、0.0001未満の値が"1e-05"のような指数表記になってしまいます
一方f-string(format)だと、".8f"等で全桁表記はできますが、小数点以下が常に8桁で0で埋められてしまいます
(例 0.00001→0.00001000)
末尾には余計なゼロは付けず、かつ指数表記にならない形でfloatを文字列にする簡単な方法はありますか?
rstrip('0')など使って余計なゼロを処理するしかないでしょうか?(この場合、100.0などのゼロは削除できないので判定が必要そうで単純にはいかなそうですが)
str()だと、0.0001未満の値が"1e-05"のような指数表記になってしまいます
一方f-string(format)だと、".8f"等で全桁表記はできますが、小数点以下が常に8桁で0で埋められてしまいます
(例 0.00001→0.00001000)
末尾には余計なゼロは付けず、かつ指数表記にならない形でfloatを文字列にする簡単な方法はありますか?
rstrip('0')など使って余計なゼロを処理するしかないでしょうか?(この場合、100.0などのゼロは削除できないので判定が必要そうで単純にはいかなそうですが)
857デフォルトの名無しさん
2022/08/18(木) 08:18:05.71ID:cEC5FUVy858デフォルトの名無しさん
2022/08/18(木) 08:58:00.71ID:8X5QyRnM >>855
ありがとうございます。やはりできないのですね。
オプション探してみましたがそれらしいものがなかったので。
場所ごとに与えられた式が同じとは限らないので、
エクセル側で読み込み用の文字列を作成することにしました。
ありがとうございます。やはりできないのですね。
オプション探してみましたがそれらしいものがなかったので。
場所ごとに与えられた式が同じとは限らないので、
エクセル側で読み込み用の文字列を作成することにしました。
859デフォルトの名無しさん
2022/08/18(木) 16:36:53.18ID:Sofq2Da+ 条件分岐について質問です
3の倍数であるかどうかを判定する関数func1()とfunc2()を書いたのですが、
どちらの書き方のほうが良いでしょうか?
https://paiza.io/projects/mbEoYGp5wy7cU2oqpoTLbA
3の倍数であるかどうかを判定する関数func1()とfunc2()を書いたのですが、
どちらの書き方のほうが良いでしょうか?
https://paiza.io/projects/mbEoYGp5wy7cU2oqpoTLbA
860デフォルトの名無しさん
2022/08/18(木) 16:40:44.96ID:s/eA3jUD 当然1
861デフォルトの名無しさん
2022/08/18(木) 16:48:56.73ID:X/mZUHYK >>859
3の倍数が例外的な事象と言う事を表現したいならワンチャン2の可能性もあるかも
3の倍数が例外的な事象と言う事を表現したいならワンチャン2の可能性もあるかも
862859
2022/08/18(木) 17:00:51.08ID:Sofq2Da+ 回答ありがとうございます
なぜfunc2()の書き方はあまり良くないのでしょうか?
よろしければ理由も教えて貰えるとありがたいです
なぜfunc2()の書き方はあまり良くないのでしょうか?
よろしければ理由も教えて貰えるとありがたいです
863デフォルトの名無しさん
2022/08/18(木) 17:56:26.08ID:GYRCxwaB すべてのnumは3の倍数かそうでないかのどちらかである、つまり必ずどちらかの処理が実行される事が一目で理解できる点ではfunc1がベター
一方で3の倍数の時は処理を行わず早期リターン、3の倍数でない時は長い処理を行う、といった場合はfunc2
一方で3の倍数の時は処理を行わず早期リターン、3の倍数でない時は長い処理を行う、といった場合はfunc2
864デフォルトの名無しさん
2022/08/18(木) 18:55:31.69ID:Rcho8+Nh いや、return入れるならelseのときもreturnしろよ
両方入ってるなら2でもいいと思うけど、片方だけ終わらせるために入れるなら関数なのかサブルーチンなのかわからんからダメだろ
両方入ってるなら2でもいいと思うけど、片方だけ終わらせるために入れるなら関数なのかサブルーチンなのかわからんからダメだろ
866859
2022/08/18(木) 19:15:55.23ID:Sofq2Da+867デフォルトの名無しさん
2022/08/18(木) 20:03:27.19ID:Ly249j22 こっちのが好き
def is_multiple(num): return num%3 == 0
def is_multiple(num): return num%3 == 0
868デフォルトの名無しさん
2022/08/18(木) 21:14:57.76ID:uWlfhjm8 >>864
アラカン先輩ちぃーすっ
アラカン先輩ちぃーすっ
869デフォルトの名無しさん
2022/08/18(木) 21:32:20.64ID:49aIw1a5 >>867
判定処理と判定結果を表示する処理を分離しましょうという意味では同意する
けどis_multipleという関数名で3の倍数かどうか判定されるのは違和感しかない
じゃどういう名前にするのがいいかと考えると判定処理をわざわざ関数化するほどではないんじゃないかという気がする
判定処理と判定結果を表示する処理を分離しましょうという意味では同意する
けどis_multipleという関数名で3の倍数かどうか判定されるのは違和感しかない
じゃどういう名前にするのがいいかと考えると判定処理をわざわざ関数化するほどではないんじゃないかという気がする
870デフォルトの名無しさん
2022/08/19(金) 03:09:01.80ID:FK1lT4BX def b_is_multiple_of_a(a: int, b:int): return bool(b % a == 0)
if b_is_multiple_of_a(a=5, b=10):
__print('可読性低すぎる')
if b_is_multiple_of_a(a=5, b=10):
__print('可読性低すぎる')
871デフォルトの名無しさん
2022/08/19(金) 11:27:50.19ID:scgMDta4 アーリーリターンは何も珍しいこと時や無い
872デフォルトの名無しさん
2022/08/19(金) 11:28:55.77ID:scgMDta4 >>870
関数改行すんならifも改行すんなよ
関数改行すんならifも改行すんなよ
873デフォルトの名無しさん
2022/08/19(金) 11:30:34.29ID:scgMDta4 しないなら
874デフォルトの名無しさん
2022/08/19(金) 18:24:24.93ID:opjWCie4 def func3(n):
p = 0
while n > 0:
p += n % 10
n //= 10
return not (p % 3)
p = 0
while n > 0:
p += n % 10
n //= 10
return not (p % 3)
875デフォルトの名無しさん
2022/08/20(土) 10:11:04.26ID:FuR2a/w3876デフォルトの名無しさん
2022/08/20(土) 23:28:18.84ID:89Fpjor3 a = [1,2,3,4,5]
b = [2,3,4,5,6]
c = []
for i in range(5):
c.append(a[i] + 2*b[i])
こういうのをリスト内包表記で書くのは無理でしょうか
b = [2,3,4,5,6]
c = []
for i in range(5):
c.append(a[i] + 2*b[i])
こういうのをリスト内包表記で書くのは無理でしょうか
877デフォルトの名無しさん
2022/08/20(土) 23:35:43.31ID:mymTDVML aとbの要素数が同じだったら[i+2*j for i,j in zip(a,b)]でいけね?
878デフォルトの名無しさん
2022/08/20(土) 23:38:46.37ID:cHNXWuBU c=[x+2*y for x,y in zip(a,b)]
879デフォルトの名無しさん
2022/08/20(土) 23:39:36.80ID:mymTDVML 普通にrangeでも
c=[a[i]+b[i] in i for range(5)]でできるかな
c=[a[i]+b[i] in i for range(5)]でできるかな
880デフォルトの名無しさん
2022/08/21(日) 01:03:28.95ID:uqbZs7r8 どうでもいいけど
c = [i + (j * 2) for i, j in zip(a, b)]
と書きたいな俺は
# (1*i) + (2*j) のようなときのみ(2*j)でも可
# 計算スタックは()でくくる
初心者のうちは特に気をつけたい。動けばいいやんは動かなくなる原因になる
c = [i + (j * 2) for i, j in zip(a, b)]
と書きたいな俺は
# (1*i) + (2*j) のようなときのみ(2*j)でも可
# 計算スタックは()でくくる
初心者のうちは特に気をつけたい。動けばいいやんは動かなくなる原因になる
881デフォルトの名無しさん
2022/08/21(日) 01:23:15.12ID:m1bd5huk >>876
好きなのを選び多摩へ
c = [(a+1) + (b+2)*2 for a,b in enumerate([i for i in range(5)])]
c = [(a+1) + b*2 for a,b in enumerate([i for i in range(2, 7)])]
c = [a + 2*b for a,b in zip([i for i in range(1,6)],[j for j in range(2,7)])]
好きなのを選び多摩へ
c = [(a+1) + (b+2)*2 for a,b in enumerate([i for i in range(5)])]
c = [(a+1) + b*2 for a,b in enumerate([i for i in range(2, 7)])]
c = [a + 2*b for a,b in zip([i for i in range(1,6)],[j for j in range(2,7)])]
882デフォルトの名無しさん
2022/08/21(日) 01:38:11.30ID:X34OpE8X ありがとうございます!
883デフォルトの名無しさん
2022/08/21(日) 06:47:07.90ID:SCvvVl9f def main(argv: Sequence[str]) -> None:
↑
これってどういう意味というか、なにがやりたいんですか?
def main(argv):
ならmainにargvを渡すだけで分かりやすいんですが
↑
これってどういう意味というか、なにがやりたいんですか?
def main(argv):
ならmainにargvを渡すだけで分かりやすいんですが
884デフォルトの名無しさん
2022/08/21(日) 10:46:46.24ID:1U/+Hx4a885デフォルトの名無しさん
2022/08/21(日) 10:59:40.26ID:LqJQ4HOS >>883
argvの型がstrのシーケンスで戻り値の型がNoneってこと
シーケンスはlistやtupleのように長さが事前に分かってて各要素にインデックスで直接アクセスできるようなコレクションの総称
argvの型がstrのシーケンスで戻り値の型がNoneってこと
シーケンスはlistやtupleのように長さが事前に分かってて各要素にインデックスで直接アクセスできるようなコレクションの総称
886デフォルトの名無しさん
2022/08/21(日) 13:04:30.41ID:j3ukytx2 そこまで型ゴリゴリにするならpythonじゃなくても(じゃない方がむしろ)良いと思うから
放置してる
放置してる
887デフォルトの名無しさん
2022/08/21(日) 13:07:09.50ID:JM/HSGoB888デフォルトの名無しさん
2022/08/21(日) 14:03:22.39ID:uqbZs7r8 型ヒント(と開発環境)があると作業効率がずっと上がる
https://imgur.com/jtSAuu4.png
型ヒントのない世界は無
https://imgur.com/BuL77EC.png
オジジでもない限り、初学者は型ヒントつけるクセつけてったほうが
大きいコード書くようになったときなんかに助かるで
https://imgur.com/jtSAuu4.png
型ヒントのない世界は無
https://imgur.com/BuL77EC.png
オジジでもない限り、初学者は型ヒントつけるクセつけてったほうが
大きいコード書くようになったときなんかに助かるで
889デフォルトの名無しさん
2022/08/21(日) 14:29:46.94ID:j3ukytx2 そこでハンガリアンですよωωω=2πf
890デフォルトの名無しさん
2022/08/21(日) 14:38:59.74ID:jAGl7lqb 実際使ってみると、版画リアンはものすごく楽。
名前というものは被るように出来てるものらしい。
とはいえ推奨はしない。
名前というものは被るように出来てるものらしい。
とはいえ推奨はしない。
891デフォルトの名無しさん
2022/08/21(日) 14:45:29.71ID:HDFqY1eo Pythonでローカルサーバーを立ててhtmlの確認をしたいのですが、SSIを使いたいため、以下のスクリプトを使用しています。
https://github.com/danvk/ssi-server/blob/master/ssi_server.py
GITからクローニングして、MacOS + python 3.10.5で動作確認させたところ問題なく動きました。
Windows10 + Python 3.10.5で実行すると、localhostへのアクセス時に文末のエラーが出て動きません。
同一のクラウド上のファイルを参照して実行しています。GITからはMacで落としましたが、改めてwindowsで落としても同じでした。
MacOSでは動いているのでWindowsの環境なのかと思いつつ、何が原因かわからずにいます。
アドバイスください。
------エラー文章--------
Exception occurred during processing of request from ('::1', 58693, 0, 0)
Traceback (most recent call last):
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 37, in __init__
SimpleHTTPRequestHandler.__init__(self, request, client_address, server)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 651, in __init__
super().__init__(*args, **kwargs)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 747, in __init__
self.handle()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 425, in handle
self.handle_one_request()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 413, in handle_one_request
method()
本文長すぎの為続きは次に書きます
https://github.com/danvk/ssi-server/blob/master/ssi_server.py
GITからクローニングして、MacOS + python 3.10.5で動作確認させたところ問題なく動きました。
Windows10 + Python 3.10.5で実行すると、localhostへのアクセス時に文末のエラーが出て動きません。
同一のクラウド上のファイルを参照して実行しています。GITからはMacで落としましたが、改めてwindowsで落としても同じでした。
MacOSでは動いているのでWindowsの環境なのかと思いつつ、何が原因かわからずにいます。
アドバイスください。
------エラー文章--------
Exception occurred during processing of request from ('::1', 58693, 0, 0)
Traceback (most recent call last):
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 37, in __init__
SimpleHTTPRequestHandler.__init__(self, request, client_address, server)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 651, in __init__
super().__init__(*args, **kwargs)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 747, in __init__
self.handle()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 425, in handle
self.handle_one_request()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 413, in handle_one_request
method()
本文長すぎの為続きは次に書きます
892デフォルトの名無しさん
2022/08/21(日) 14:46:16.53ID:HDFqY1eo 続きです。
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 40, in do_GET
SimpleHTTPRequestHandler.do_GET(self)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 655, in do_GET
f = self.send_head()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 679, in send_head
path = self.translate_path(self.path)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 57, in translate_path
content = ssi.InlineIncludes(fs_path, path)
File "C:\Users\UserName\iCloudDrive\web\ssi.py", line 31, in InlineIncludes
content = open(path).read()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 1163: illegal multibyte sequence
----------------------------------------
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 40, in do_GET
SimpleHTTPRequestHandler.do_GET(self)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 655, in do_GET
f = self.send_head()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 679, in send_head
path = self.translate_path(self.path)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 57, in translate_path
content = ssi.InlineIncludes(fs_path, path)
File "C:\Users\UserName\iCloudDrive\web\ssi.py", line 31, in InlineIncludes
content = open(path).read()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 1163: illegal multibyte sequence
----------------------------------------
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- ヤフコメ「中国への輸出がなくなる事で、日本国内で美味しくいただける事に感謝します」👈やたら政権寄りなのはなぜ?(´・ω・`) [399259198]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- ファブルに出てくる貝沼君ってのがお前らにそっくりなんだよ
- 俺「お湯を流してと…」シンク「ボンッw」
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- paypayで支払いするの便利すぎワロッタwwwwwwwwwwwwwww
