くだすれPython(超初心者用) その50【まず1嫁】

■ このスレッドは過去ログ倉庫に格納されています
2020/08/27(木) 20:24:10.68ID:WXD9Eu8v
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
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

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2020/09/22(火) 22:30:43.33ID:B6bZy9FX
>>451です。引き続き回答をお待ちします><
心無い誹謗中傷はスルーします。
2020/09/22(火) 22:46:36.74ID:S3c4U8yb
スルー宣言=スルーできてないんだよなあ(苦笑)
2020/09/22(火) 22:53:43.30ID:B6bZy9FX
以後アオリもNGに追加させていただきます。
よろしくお願いしますm(_ _)m
2020/09/22(火) 23:04:02.67ID:A4xyriAt
print❨知恵袋に行け❩
472446
垢版 |
2020/09/22(火) 23:07:36.66ID:w2FwR3QU
>>448
使うソフトウェアの要求で2.7.3使ってます。
私はもちろんpython3用に書き直すことはできませんし、マイナーな趣味なので他人が書き直すことも望めません。

qt4自体、ということですが、pyqt4はC++だったqt4をpython用に書き直したものなのに
どうしてqt4が必要になるのでしょうか。
また、どのようにqt4をインストールするべきでしょうか。
2020/09/23(水) 00:58:20.55ID:vUEpR4nB
>>451
Ruby on Rails では、credential という暗号化機能がある

credentials.yml.enc というファイルに、例えば、以下のように設定値を生で書いても、
YAML ファイルを、Rails が丸ごと暗号化してしまうので、どういう設定か全く読めなくなる

aws:
access_key_id: 123
secret_access_key: 345

逆に、値を取得する際も、マスターキーで自動的に、ファイルを解読する。
つまり開発者は、マスターキーだけ持っていればよい
2020/09/23(水) 01:51:51.60ID:h37ftOVa
Ruby病は重度の精神病で完治しないと言われている
2020/09/23(水) 03:28:22.03ID:DNpwK2+H
>>468
ハッシュ化っていうほぼ答え書いてもらってるんだから
「Python パスワード ハッシュ化」でググれば速攻で出るだろ

python3ならデフォルトでhashlibあるからそれ使ってハッシュ化しとけ
https://docs.python.org/ja/3/library/hashlib.html
2020/09/23(水) 03:36:16.81ID:DNpwK2+H
>>472
>qt4自体、ということですが、pyqt4はC++だったqt4をpython用に書き直したものなのに
>どうしてqt4が必要になるのでしょうか。
誰がそんなこと言ってるねん、あくまであくまでpyqt4はPythonでqtを使えるようにしただけで
書き直したとは一言書いてないぞ

とりあえずはQtをインストールしてqmakeのパスを追加するしかないな
(Qt自体もアップデートされてるから上手くいくはやってみないと分からん)
2020/09/23(水) 03:44:42.72ID:D2GW304T
>>475
ありがとうございます。勉強してみます。
478446
垢版 |
2020/09/23(水) 08:32:12.18ID:kBT7S+1U
pyqt4がpythonとqtの橋渡し役なのか、それともpython版のqtなのかわからなかったのですが、
橋渡し役ということでいいでしょうか。
また、qtは4.8と5.0がpython2.7.3とリリース日が近かったのですがどれにすべきでしょうか。
2020/09/23(水) 09:39:35.59ID:DNpwK2+H
>>478
4.8の方が無難じゃないかね
480デフォルトの名無しさん
垢版 |
2020/09/23(水) 10:09:25.96ID:hJkRvCZv
ttp://see-ku.com/wiki/wiki.cgi?page=Qt%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A5%E1%A5%E2
ttp://quitout.blog136.fc2.com/blog-entry-28.html
481446
垢版 |
2020/09/23(水) 16:38:03.53ID:kBT7S+1U
http://download.qt.io/archive/qt/4.8/4.8.7/
どれがいいかよくわからないのでVS2010版インストールしてみました
環境はwindows10 64bit visual studioはバージョン1.49.1 mingwは無いと思います

C:\Users\(ユーザー名)\Desktop\PyQt4_gpl_win-4.12.3>python configure-ng.py --verbose
Querying qmake about your Qt installation...
Determining the details of your Qt installation...
C:\Qt\4.8.7\qmake\qmake.exe -spec win32-msvc2008 -o qtdetail.mk qtdetail.pro
Could not find mkspecs for your QMAKESPEC(win32-msvc2008) after trying:
 C:\iwmake\build_vs2010_opensource_________________PADDING_________________\mkspecs
Error processing project file: qtdetail.pro
Error: Failed to determine the detail of your Qt installation. Try again using
the --verbose flag to see more detail about the problem.

pathはqmakeに通しても通さなくても結果は変わりません。
qmakeへのpath無しでCドライブ直下でqmake -vを打ち込んでもなぜかちゃんとバージョンが出ます。
64bitなのに32bitを探していておかしいと思いますがよくわからないです。
QMAKESPECをQT内で検索しても出てこないです。qmake.confならあるんですが。
エラー文章途中のアンダーバーの多いコマンドも試しましたが指定されたパスが見つかりませんと言われます。

検索して似た事例の英語回答があったので試しましたが
https://forum.qt.io/topic/18150/qt5-qmake-s-mkspec-path-location/3

C:\Users\(ユーザー名)\Desktop\PyQt4_gpl_win-4.12.3>qmake -spec /path/to/qmakespec
Failure to read QMAKESPEC conf file /path/to/qmakespec\qmake.conf.
Error processing project file: C:/Users/(ユーザー名)/Desktop/PyQt4_gpl_win-4.12.3/qtdetail.pro
となってうまくいきませんでした。
2020/09/23(水) 17:10:28.09ID:f2tDfq29
バージョン1.49.1ってVisual StudioじゃなくてVisual Studio Codeでしょ…
2020/09/23(水) 17:24:24.71ID:Jcp9ukKq
QT使ったことないけどこれ上から順に実行したらあかんの?

https://doc.qt.io/qtforpython/gettingstarted-windows.html
484デフォルトの名無しさん
垢版 |
2020/09/23(水) 20:20:00.79ID:a6nOJJ7I
Visual Studio CodeのZIP版を使っています
Microsoftのチュートリアルに従い
日本語化とPythonエクステンションをインストールして
Pylintの警告を出してインストールしたあと
ポータブル用の設定になっていないことに気づいてdataフォルダを作成
それから日本語化とPythonエクステンションをインストールしました
Pylintの警告を出すためにpyファイルを作ったのですが警告が出ません
エクステンションの設定を見るとPylint Enabledとなっていますがポータブルとしてインストールされているのでしょうか?
2020/09/23(水) 21:29:29.31ID:pVAt0M+k
コードが長くなってきたので書き分けたいのですが
分けなかったときと同じようにimportするにはどうしたらいいのでしょうか

分けない時
【my_module.py】
def hello1():
_print('hello1')
def hello2():
_print('hello2')

【main.py】
import my_module
my_module.hello1()
my_module.hello2()

my_moduleからhello1とhello2を分けたとき
【my_module.py】
def hello1():
_print('hello1')
【hello2.py】
def hello2():
_print('hello2')
【main.py】
分けないときと同じように
my_module.hello2()で呼び出したい
2020/09/23(水) 21:39:00.87ID:pVAt0M+k
レスした瞬間ひらめいたというか初心に戻り自己解決しました
my_module.py内でfrom .hello2 import hello2すればいいだけでした
487446
垢版 |
2020/09/23(水) 23:50:04.33ID:kBT7S+1U
えっ別物だったの!?
道理でバージョンがおかしいと思った

VS2010 c++ express edition 入れましたが特に変化ないです
2020/09/24(木) 01:05:51.76ID:6tjmZbDW
スレチだったら申し訳ないのですが、どうしても自分じゃ解決しないので助けて下さい。
今週から勉強して始めたのですが、
Requestsのモジュールをターミナル経由でpipからインストールしてVS codeで入力してもno module named ‘requests’と出てしまいます。
環境Mac OS 10.15.4
Python ver 3.8
どなたか解決法教えていただけないでしょうか、よろしくお願いします。
2020/09/24(木) 01:28:07.12ID:XOJd4ubj
pip3使わないとPython2の方にライブラリインストールされちゃうよ
2020/09/24(木) 01:30:41.80
>>488
pip3 install requestsとかは?
そもそもインストールされたモジュールや
importするモジュールがどこに入ってるかを確認してしまえばいいのでは
必ずどこかのディレクトリから参照してるわけだし
2020/09/24(木) 01:39:33.00ID:6tjmZbDW
お二方夜分にありがとうございます。

調べたところどうやらpathが繋がっていないのが原因なのかなというところまでは掴めました
Terminalでpip3 install requstsとしてもalready satisfiedと出ております。

requestsの方は/opt/anaconda3/lib/python3.8/site-packages(2.24.0)
でVScodeでsysを見ると
Python.framework/Versions/3.8/lib/python/site-packages
になっておりました。
兎にも角にも普通にやってれば躓く所じゃない事が分かっただけでも助かりました!
2020/09/24(木) 02:03:08.49
まぁそれならあとはVScodeから実行するならpython3のパスを通してやるか
Terminalから直接pyファイルを実行するならpython3で実行してみるか
2020/09/24(木) 02:32:02.40ID:6tjmZbDW
488ですが無事解決しました。
何も考えずにYouTubeの動画のチュートリアルで言われた通りに入れたanacondaと、VScodeでInstallしたpythonのpathが合っていなかったのが原因でした。
完全にanacondaをアンインストールすれば実行できました。
お騒がせしました、ならびにありがとうございました。
2020/09/24(木) 06:50:16.20ID:IroRu0FU
乙おめ
2020/09/24(木) 12:21:54.54ID:CHq4JQRq
指定した整数の回数だけ、同じカウントをやりたいのです

count = 0
life = 5
d = 0

for i in range(100):
_if d == life:
__d=0
__count+=1
_print(count)
_d+=1

# 000001111122223333344444555556666677777...

みたいなカウントの仕方です
dが野暮ったい気がするのですがもっとシンプルに書けないものでしょうか
496デフォルトの名無しさん
垢版 |
2020/09/24(木) 12:43:47.90ID:z+BbFKst
for i in range(100): print(i // life)
2020/09/24(木) 12:56:28.55ID:stVAOa82
しゃぶれよ
2020/09/24(木) 13:36:10.98ID:HAlq1fsX
なぜforをネストしない…
2020/09/24(木) 19:28:46.04ID:AVi1A5GD
>>496
できたーーー!
ありがとうございます!
2020/09/24(木) 22:35:34.15
import itertoolsとnext()なる便利なものを知ったのですが
これ、”一周回ってきた”を知るにはどうしたらよいのでしょう
リストの長さをカウントするしかないのでしょうか?
2020/09/25(金) 04:46:29.14ID:ivzUOZ7m
意味不明
無限イテレータなら一周なんて概念はないし
listみたいなイテレータなら一周以上できないから一周しか存在しないだろ
変な説明するよりコードを提示して質問しろ
2020/09/25(金) 06:27:16.79ID:7HeHw0Rd
ある自然数を適当に分割したいんです。
例えば100という自然数があったばあい10,50,16,24みたいな感じです。
教えてエロい人
2020/09/25(金) 06:46:15.63ID:7HeHw0Rd
ごめん。実際は3分割したいのです。
よろしくしまっす。
2020/09/25(金) 06:59:53.79ID:UVM8czPJ
>>502-503
てきとうって完全ランダム?1,1,98とかもOKってこと?
2020/09/25(金) 07:05:44.12ID:7HeHw0Rd
>>504
1,1,98でも構いませんが、

分割する場合、それぞれの値の期待値が同じになれば大丈夫っす。
2020/09/25(金) 07:12:46.95ID:7HeHw0Rd
分割する自然数=100
分割数=3
配列=[]
配列2=[]
for i in range(分割数):
  配列.append(random.random())
for i in range(分割数):
  配列2.append(配列[i]/sum(配列)*分割する自然数)
print(配列2)

ちなみに私が思いつきで書いた公式です。
結果が少数になってしまうので不採用となりました。。。
2020/09/25(金) 07:35:50.98ID:LUJK9/4D
Python もマルチバイト文字が使えるようになったか。
2020/09/25(金) 08:41:44.33
>>501
import itertools
import time

ary = ['a','b','c']
it_ary = itertools.cycle(ary)
for n in it_ary:
_print(n)
_time.sleep(3)

これで一周回る、つまり毎回'c'がprintされたあとに処理をしたいわけです
(aryの中身は変わるので値'c'を比較してって意味ではありません)
len(ary) == iすればいいだけなのですが気になりまして
2020/09/25(金) 09:29:58.41ID:f9L+4Sos
itertoolsを使わなければよいだけでは
2020/09/25(金) 09:31:56.69ID:UVM8czPJ
>>505-506
期待値同じ縛りなのか・・・

合計がピッタリ分割もとの数になるように
ランダムさんを割り当ててくのってむずかしいきがした。

おれかんがえたのは
506の記法に従うと

max=分割する自然数-分割数+1
for i in range(分割数):
____tmp=random.randint(1,max)
____配列.append(tmp)
____max=max-tmp-(分割数+1-i)
2020/09/25(金) 09:35:17.25ID:f9L+4Sos
>>499
>>508
二重ループ使おうよ
2020/09/25(金) 09:37:55.05
>>509
つまりitertools以外のものであれば
it_ary.count(今の位置を整数で取れる)だったり
'c'をprintし終わったあとに実行できるようなit_aryにコールバックを設定できたり
そういう慣例があるということでしょうか?
自分でそういうモジュールを作る、という話ではないですよね?
2020/09/25(金) 09:39:14.45ID:UVM8czPJ
ID隠してるやつは土着の?あらしだからスルーな>>all
2020/09/25(金) 09:42:19.52ID:ur/x7yKF
あらしと思わせたければIDを隠す
そう思わせたくなければIDを出す
これだけで精神レベルの低い人間を簡単に操作することができます
2020/09/25(金) 09:44:15.01ID:UVM8czPJ
おれいを言うとチヌ病気にかかってるアフォに目印ついて便利っちゃー便利>うんこ装着してID隠し
2020/09/25(金) 09:46:23.27ID:bD1YsBMG
>>512
f=True
while f:
_for n in ['a','b','c']:
__print(n)
_print('回った')
2020/09/25(金) 09:48:57.77ID:7HeHw0Rd
>>510
ありがとう。
配列[0]に大きい数字が入りやすいけど最後に
シャッフルすれば期待値は同じになりそうですね。
518デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:54:23.25ID:ADlgR+X9
>>500
StopIterationがraiseされる
2020/09/25(金) 10:41:40.02
>>516
そうなんです
使わないのなら2重ループすればいいし
使うなら分岐でitertools自身の関数を使えるし
それらの落とし所を探っている感じです

>518
cycleはその名の通りstopしないのでしょうがisliceなどはtry:except StopIteration:で処理を分岐できました

ただ、もしかしたらという方法を何個か思いついたので試してみたいとおもいます
ありがとうございました
2020/09/25(金) 10:42:59.41ID:q10QaMUD
コードを書く以前に日本語で仕様を書く練習をしたほうがいいやつが多いな
2020/09/25(金) 11:48:17.48ID:UVM8czPJ
>>517
これでおkなら何より
522デフォルトの名無しさん
垢版 |
2020/09/25(金) 12:19:53.43ID:4ovx1Tzj
100個の候補から150個ランダムに出力する場合
期待値同じに出来ないだろう
2020/09/25(金) 14:40:18.87ID:0Ox6cB/k
n = ['aaa','bbb']
m = ('ccc','ddd')

n = n + m
は通らないのに
n += m
は通るのはなんでだで?
2020/09/25(金) 15:39:45.91ID:q10QaMUD
それぞれ違う関数で呼び出される中身も違うから
2020/09/25(金) 19:57:07.41ID:2UfubMhi
Pathlibで拡張子抜きのファイル名だけリネームしたいんだけど
renameの仕様が凄く気持ち悪い
なんでrename(’hoge’)でhoge.txtにリネームしてくれないんだ…
2020/09/25(金) 20:04:18.33ID:UVM8czPJ
>>525
ファイル名だけリネームならバッチで充分やろ
2020/09/25(金) 20:05:07.32ID:ev0lGGxz
そんなリネームする関数がある環境が知りたいわ
VBAとかにはあるのかな
2020/09/25(金) 20:07:16.09ID:ev0lGGxz
Pathlibのrenameはosのrenameを呼んでる
osのファイルシステム操作関数はposixインターフェースに習っている
文句はposixに言ってくるべき
2020/09/25(金) 20:27:56.97ID:UVM8czPJ
>>527
「コマンドプロンプト ren 一括」
2020/09/25(金) 21:04:49.04ID:q10QaMUD
>>529
renも拡張子指定するよね?
2020/09/25(金) 21:16:32.67ID:UVM8czPJ
>>530
やり方次第
2020/09/25(金) 21:32:14.62ID:9du6H2FS
何でもかんでも txt にしたらあかんやろ。
2020/09/25(金) 21:37:02.48ID:q10QaMUD
>>531

ren foo.txt bar.*

もしかしてこういうのを拡張子を指定しないと言ってる?
534446
垢版 |
2020/09/25(金) 23:28:21.84ID:+b1tEVaH
>>483 
ダウンロードしようとしたんですが、libclangにpython2.7.3時点のバージョンがないので
2.7.3のときは別のものを必要としたように見えます
あとなぜか Make sure you have a working Qt qmake on your PATH.に逆戻りしました

今更ですがpip使ったほうが早いですかね
ただpipもslscontext objext not foundとかでインストール失敗するんですよね
2020/09/26(土) 00:09:25.31ID:evkbhpg+
とあるサイトをrequests.getするとres.status_codeで403が返ってきます
ブラウザからだと普通に繋がります
で、User-AgentやらRefererをブラウザのリクエストヘッダから写し取り
headersに設定したのですがやはり403です
何か他に思いつく要因はありますでしょうか?
ちなみに他のサイトだと403だったのがheadersの設定後、200のステータスコードを取得できました
2020/09/26(土) 00:15:21.58ID:evkbhpg+
あと同じ403でもheadersを設定した場合と設定しなかった場合とで
微妙にrequests.get後のresponse.textの内容が変わってるので
headersやその他に足りないパラメータがあるのかと思うのですが・・
2020/09/26(土) 01:36:07.54ID:en54jqZM
とりあえずブラウザ使ってる時のリクエストを丸コピする

copy as cURLしてどのヘッダーが必須なのかを
curl使って切り分けしてからコードにすると楽
2020/09/26(土) 02:17:29.76ID:evkbhpg+
>>537
あらためてコピペで設定したらすんなり通りました・・

なんらかのコピペミスだったのか
(あと、403になったあとに接続するとどうやら一定期間
同じipで全ページで接続できなくなる仕様みたいでした、それが関わっていたのかもしれない)
とにかくできました
ありがとうございました
539デフォルトの名無しさん
垢版 |
2020/09/26(土) 11:01:07.02ID:j0h+lLOK
python2.7.3を使っています

python -c "import ssl; print(ssl.OPENSSL_VERSION)
OpenSSL 0.9.8l 5 Nov 2009

新しいバージョンのopensslにするにはどうすればいいですか?
https://github.com/pypa/pip/issues/4704
このページを見つけたのですが手順四番目の./Configureというコマンド?が認識されないです
2020/09/26(土) 11:46:36.51ID:9azqN3P6
Windows98を使ってます。
YouTubeを見るにはどうすればいいですか?
Meにバージョンアップはできません
理由は
>>472
に書いてます
2020/09/26(土) 13:11:34.54
class hoge:
_def __ini__(self):
__pass
__# ここ
_def tes(self):
__pass

def __init__とdef tes(self)の間のインデント(#ここ)って無い方がいいよね?
2020/09/26(土) 14:00:10.58ID:0j6Y03dC
空白文字のみで構成される空行扱いになると思うので、どちらでも良いのでは?
2020/09/26(土) 14:30:58.76
やっぱそうか
削除するよりも放置する(気づかない)ほうが簡単なのでとりあえず放置しとくかな・・
544デフォルトの名無しさん
垢版 |
2020/09/26(土) 14:32:01.89ID:ER2LZL5Z
行末が空白の連続で終わってるのは勝手にトリミングするエディタ使え
2020/09/26(土) 14:36:14.59ID:VAkG2Csn
>>539
端末のOSとバージョン書け
2020/09/26(土) 14:59:49.35ID:tRZs7u7H
きみたちblack使ってないの?
2020/09/26(土) 17:30:22.20ID:gRR2jm5z
>>546
フォーマッターは色々試したけどBlackが一番楽だったな
細かいオプション弄れないってのは目から鱗だったわ

ただデフォルトの1行88文字だけイケてないから、そこだけ変えてるな
99がpep8にも従ってるから理想だと思うけど、個人的には120ぐらいの方が見やすいからそれで設定してる)
2020/09/26(土) 21:25:34.34ID:GBugeZhr
>>540
Windows98 というOS 自体が古すぎる。
サポート切れ

時間の無駄だから、捨てた方がよい

Windows7 でも、もうサポート切れだよ
549539
垢版 |
2020/09/27(日) 20:47:58.24ID:2JLD83qY
>>545

windows10です 
2020/09/28(月) 01:01:50.23ID:eTNt7YMM
csv.readerで、10数桁の数値を読み込むと
指数表記になっちゃうんだけど、どうすればいい?
誰か教えてください・・・
2020/09/28(月) 06:34:33.43ID:JgS2isID
csv.readerは関係ない。表示するときに勝手に指数表示されてるだけ。
print(f"{v:.15f}")
とかして表示方法を指定する
2020/09/28(月) 08:37:01.65ID:nRbCQgPa
>>551
返信ありがとうございます。
読み込みは問題なかったんですね。
処理した後データフレームを作成し、
df.to_csv('c:\\python\\aaa.csv',encoding='utf_8_sig')
で出力すると、情報落ちが発生てしまうのですが
これもデータフレームに書き込む際にフォーマット指定すればいいんでしょうか?
553デフォルトの名無しさん
垢版 |
2020/09/28(月) 12:01:38.28ID:PXJ7xAyj
全部文字列で処理しろ
2020/09/28(月) 12:08:43.44ID:TVWoeOte
すみません、上手く行きました。
ありがとうございます!
555539
垢版 |
2020/09/28(月) 15:35:18.48ID:CHxZqZBW
>>545
失礼しました。バージョンは2004と書いてあります、これでいいでしょうか。
2020/09/28(月) 18:23:16.35
a = False
b = False
のとき、

これと
print(True if not a == True and not b == True else False)
これって一緒の意味ですよね?
print(True if not (a == True and b == True) else False)
557デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:31:41.70ID:zjrobJ8x
if hoge == True: は使うと問題起きるので
if hoge:
で良い
2020/09/28(月) 18:36:32.27ID:5gUs019O
not a == True and not b == True
これは ~A ∩ ~B

not (a == True and b == True)
これは ~(A ∩ B)
であって等価ではない

一番上と等価なのは
not (a == True or b == True)
これは ~(A ∪ B)
2020/09/28(月) 18:37:46.83ID:fmmBl4Wo
ド・モルガンの法則だと、後ろの条件式はandではなくorなのでは? ベン図を描いてみたら?
2020/09/28(月) 18:38:11.01ID:fmmBl4Wo
ごめん、かぶった
2020/09/28(月) 18:54:17.64ID:ZZCh9OIz
>>559
ドモルガンは公理であって法則ではない!
2020/09/28(月) 19:19:12.97ID:fmmBl4Wo
>>561
数学的に厳密な話はわからないや、ごめんね。
2020/09/28(月) 20:03:35.77ID:iFBbxDDj
>>562
そんなに簡単に妥協してはいけない!
2020/09/28(月) 20:10:58.54
>>557
(実際はif hoge == True:は使ってないのでどうでもいいのですが)
使ったとしてif hoge == True:で問題が起きるようなコードなら
if hoge:でも問題がおきるのでは?
そうではなくhogeがTrueとFalseしか取らない場合でも
== Trueすること自体に問題があるということでしょうか?
(つまりhoge=Falseのときでも、hoge==TrueがTrueとなってしまう)

>558,559
ありがとうございます
なるほどあらためて言葉に書き下ろしたり
このような図にするとわかりやすかったです
https://i.imgur.com/Io2rS55.png
>>556の後半は、aとbの重なった部分以外(aとbの一部含む)
になってしまいますね
2020/09/28(月) 20:14:56.86ID:iFBbxDDj
>>564
そのベン図が有効なのは集合の要素が有限、いやせいぜい可算個までの場合ですね
無限集合に対しては無力だと思います
2020/09/28(月) 20:53:04.92ID:ejW4RwcM
TrueとFalseの二値論理なら等価だし、二値じゃないならTrueとの比較は
hoge == True こそが唯一の正しい方法ということになる。
2020/09/28(月) 21:12:11.60
>>566
安価がないのでだれに言っているのかがわからないのですが
(流れからいってそうなのかな、と迷う書き方をされているので・・)
さらに>>556>>557に系譜している返信かどうかもわからないので想像でかきますが
そもそも>>557は566に対しての返信じゃなく
独り言だったということでしょうか・・?
そうではなく関連した返信だった場合は話がズレていると思いますのでスルーしますねすみません

>>565
たしかに
もっと複雑なif文を一行で書こうとすると頭が混乱しそうなので
最初はネストして書いてから整理しようかなとおもいます
2020/09/28(月) 21:12:25.04ID:zMY8S0gJ
>>549 >>555
いいけど

そのConfigureってやつはLinux系用の命令だから
そのままでは動くはずがないぞっと
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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