Pythonのお勉強 Part74

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0b4a-lz98)
垢版 |
2024/09/21(土) 10:14:02.15ID:ZHy4g+PL0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

※前スレ
Pythonのお勉強 Part73
https://mevius.5ch.net/test/read.cgi/tech/1717631290/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
151デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:44:19.92ID:iqlRL8W80
>>150
131 デフォルトの名無しさん (ワッチョイ eb61-lE/J) sage 2024/10/14(月) 00:55:34.21 ID:hhbIrBZG0
import datetime
s = -1816.123
g = (s>0)-1
td = str(datetime.timedelta(seconds=abs(s))).split(".")
print(f'{str(g)[0]}{td[0].zfill(7-g)}.{td[1][:1]}')#-00:30:16.1
152デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:45:05.98ID:iqlRL8W80
1816.123秒という例を本人が書いている
2024/10/14(月) 12:48:52.68ID:o4N23i0F0
60で割って云々はちょっとズレているというかアスペ感があるのでひとまずその問題は置いといて
ストップウォッチ風な表記をdatetimeかtimeで一発で出せたらいいのに、ってことなら
そもそもストップウォッチって
0’00’’00
だったような
なら0:00:00でよくて
別に2桁縛りの0埋めじゃなくてもよくね
ミリ秒部分は知らないけど
154デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:52:58.55ID:iqlRL8W80
>>153
彼はフォーマットのことも言っているが、1816秒を分に変換する方法がわからない。

1分は60秒だ。1000ミリ秒は1秒。
2024/10/14(月) 12:53:22.00ID:NoA08L9i0
0:00:00
10:00:00
これが揃ってないのがむずむずする
みたいな問題だとしたら
日付関数というよりprintなど出力フォーマット側の仕様にした方が個人的にはしっくりくる
2024/10/14(月) 12:53:51.85ID:upEjQ6n10
>>151
-1816.123という秒の単位で期間を表現した数値を
HH:MM:SS.0やHH:MM:SS.000形式の文字列にフォーマットしたいというのと
1/1000秒まで正確に求めたいというのは全然別の話じゃん

しかもそれ本人じゃないだろ
157デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:54:47.77ID:iqlRL8W80
本当に60秒が1分だと知らないのかもしれない。

datetimeライブラリなんか使う必要もない。
2024/10/14(月) 12:55:18.84ID:+rCJDD4J0
>>154
おまえはズレてるのでちょっと会話できないわ すまんね
そもそも>>131は別人だしお前以外は流れでわかってると思うよ
159デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:58:59.46ID:iqlRL8W80
>>158
本人の書き込み
109 デフォルトの名無しさん (ワッチョイ 4f54-O9y3) sage 2024/10/12(土) 01:09:25.66 ID:3/0Ne1V+0
import datetime
td = datetime.timedelta(seconds=1817)
print(td)

これで '0:30:17' が表示される
ただし、'00:30:17' ではない

print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない
160デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 13:00:47.49ID:iqlRL8W80
1817秒を30分17秒と単純に割り算をして、文字列をくっつければいい簡単な話だぜ。
161デフォルトの名無しさん (ワッチョイ 1fec-1uE8)
垢版 |
2024/10/14(月) 14:04:34.65ID:2T1ySmhp0
54に続いて78が爆誕か
>>143の3行目とかマジでどういう脳ミソしてんだろう
2024/10/14(月) 14:11:38.27ID:mb36WxU50
>>155
printによる出力フォーマットは出力する値の型(ここではdatetime型やtimedelta型)に依存してるんだぞ
2024/10/14(月) 14:11:47.79ID:vJAIv8ZI0
最初の質問って「ある」「ない」を聞いてるだけじゃね?
無ければ自分で作るかぁ、みたいな
作り方なんて分かってる上での質問でしょ
2024/10/14(月) 14:28:50.30ID:CJVgcXbL0
>>162
その理論だとprintにオプションなくてもいいよね
2024/10/14(月) 15:04:56.69ID:Nrkl1oO4d
判ってると思うけど
1000 で割るより 1000000 で割った方が良い
166デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 15:56:41.32ID:iqlRL8W80
数値

時刻

文字列

という奇妙なデータ型変換
167デフォルトの名無しさん (ワッチョイ 9f8e-QBmB)
垢版 |
2024/10/14(月) 16:00:42.53ID:cfRK145W0
>>166
馬鹿が発狂した
168デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 16:05:57.37ID:iqlRL8W80
最終的な時刻フォーマットは時、分、秒がわかっていればいいだけなのにな。

1817秒÷60の結果で30分と17秒という分数と秒数が出せる。
2024/10/14(月) 16:38:57.17ID:u3iQG5/50
def convert_1817(sec):
  if sec == 1817:
    return '00:30:17'
  else:
    raise ValueError('sec must be 1817')

print(convert_1817(1817))
2024/10/14(月) 17:32:36.62ID:dK7b/9hZ0
20レスもしていて簡単なサンプルコードも書けないという事実
2024/10/14(月) 17:41:03.15ID:rj+zMLjj0
むしろ誰がコードなんて欲してるの?
2024/10/14(月) 18:10:36.90ID:Q0jRvIar0
回答としては
質問の要求を満たす何らかの
・関数
・datetimeやtimeなどオプションやメソッド
の掲示、なければ無い
場合によってはノーコードにもならない

ただひとつ確実に言えることは
割る60だの算出方法にひたすら拘っているアスペっぽいやつが的外れだということ
2024/10/14(月) 18:27:31.94ID:/mng7eSx0
アスペおじさんもだけど君も大概やで
>>131とか>>164とかギャグじゃなければヤバいぞ
174デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 18:33:31.99ID:iqlRL8W80
>>170
数字とコロンを連結するというところがなぜかprint関数でやるというヘンテコ話になっているからネタかもしれない。
2024/10/14(月) 19:40:06.63ID:m36PLLju0
経験上、文句を言うだけで理由を言語化できない人の方がヤバい人は多いですね
2024/10/14(月) 19:42:21.98ID:dmvKd1h40
1f78-oCgEだけは段違いで会話が成立しないレベル
レス数から言ってもわざとやっているとは思えない
177デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:44:03.40ID:iqlRL8W80
printさせるのはいかにも入門書という感じだけどさ、データ型の概念もなければ、データ型を変換するキャストも知らない。

ms = 1817
= f'{num:04}'
ji = = f'{num:(ms // 3600)02
fun = ms // 60
byo = ms % 60

() + (1817 / / 60) + ':' + (1817 % 60)
178デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:44:17.15ID:iqlRL8W80
めんどくせぇな
179デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:46:36.32ID:iqlRL8W80
教えてクレクレ
180デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:49:17.59ID:iqlRL8W80
自分はわからないのでお金を出して他人にやってもらうというのが正解だ

段階を踏まずにいきなり最終形にしたがるのも初心者の特徴
181デフォルトの名無しさん (ワッチョイ 9f8e-QBmB)
垢版 |
2024/10/14(月) 20:22:43.99ID:cfRK145W0
ID:iqlRL8W80
基地外確定
2024/10/14(月) 21:40:22.67ID:SB1Ci/250
関数一つ設計することが出来ないおじさん二人の醜い争い
2024/10/15(火) 10:06:05.50ID:vVD3TI360
今からPython始めても食ってけない?

gptのせいでコード自動生成されてしまうから
2024/10/15(火) 12:07:07.85ID:4n6/+UIx0
>>183
その質問もまずはChatGPTに聞くとよい
2024/10/15(火) 12:20:33.41ID:vNiVptT20
コードを改良するプログラムを生成するように依頼
そのプログラムで自分自身を改良し続けるようにして実行
2024/10/15(火) 17:12:58.10ID:ISNWUP6x0
プログラマになれないのに諦めない心意気は買うが辛くなるだけだぞ
2024/10/15(火) 17:22:58.02ID:p9LvrA/f0
Python系YouTuberになるための肩書としてプログラマなるならありかも知れん
188デフォルトの名無しさん (ワッチョイ 6bbd-rY7G)
垢版 |
2024/10/15(火) 19:27:15.97ID:obclbCzJ0
今からPythonするならAIを設計する側に回るように頑張るのがいい
もしAIがより高性能なAIを設計できるようになったらそもそも社会が別物になるだろうし
2024/10/16(水) 17:27:46.34ID:98gvsp6K0
matchってswitch?

なんで変な名前なの?
190デフォルトの名無しさん (スッップ Sdbf-QBmB)
垢版 |
2024/10/16(水) 17:35:39.03ID:qvWniM9xd
>>189
馬鹿にはそう見えるのか
2024/10/16(水) 17:49:43.98ID:uCgI/8kk0
C言語の時点でswitchは特に便利でもなかった
そこだけインデントが変になるし、breakまみれになるし

それでも推奨されたのはコンパイルで高速化できるから
分岐のかたまりではなくテーブルでジャンプするように変換してくれる

だから必然的にpythonにswitchなんか不要
2024/10/16(水) 18:18:16.18ID:98gvsp6K0
>>191

高速化は事実だが、
テーブルうんぬんは間違い。
2024/10/16(水) 20:02:33.53ID:P8hUv73s0
高速化として意味があったのは昔の話だけどね
2024/10/17(木) 18:14:57.71ID:lX/5R9Jx0
profile指定する以外の方法でseleniumでメルカリにログインする方法が判らん
2024/10/17(木) 20:37:13.97ID:rL5MZKqkH
>>189
別に変じゃないだろ
マッチ(match)させてその結果により分岐(switch)するという二段階の処理
用語として前を取るか後ろを取るかだけの話だ
2024/10/17(木) 20:43:44.76ID:91c0XYHa0
パターンマッチのmatch
switchにはパターンマッチの機能はない
2024/10/17(木) 20:52:52.68ID:l8JBYm7A0
>>195
え?

じゃ、switchでいいでしょ
2024/10/17(木) 21:15:16.24ID:lX/5R9Jx0
条件に合うか検査して分岐するんだからswitchだよな

英語のswitchってそんな多数分岐のニュアンスあるか? という疑問もある
AからBへswitchみたいな、2分岐がせいぜいなのでは
2024/10/17(木) 21:31:53.31ID:rL5MZKqkH
>>197
じゃ、て何よ
どっちかなんだからmatchでもいいじゃん
2024/10/17(木) 21:41:55.68ID:lX/5R9Jx0
switchと似て非なるもの、という意味でmatchにしたんだろうな
-tchが共通してるのは意図的

switchと同じと思われることを避けるというよりは、
switchとは違うのだよswitchとはという積極的な意思表示
201デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/17(木) 21:50:15.51ID:yeHUFxEBa
switchに2択という意味は無いぞ
2024/10/17(木) 21:55:19.50ID:lX/5R9Jx0
longmanを引くと
1. to change from one thing to another, usually suddenly
2. to secretly remove one object and put another similar object in its place
3. to help someone you work with who needs time away from the job by agreeing to work certain hours for them if they do the same for you
4. to change the way a machine operates by using a switch
1.ある物から別の物へ、通常は突然変えること。
2.ある物をこっそり取り除き、別の似たような物をその場所に置くこと。
3. 一緒に働いている人が仕事から離れる時間を必要としている場合、その人が自分と同じことをしてくれるなら、その人のために一定の時間働くことに同意することによって、その人を助けること。
4. スイッチを使って、機械の作動方法を変えること。

何かからanotherへ切り替えの意味なんだよな
2024/10/17(木) 21:59:22.15ID:lX/5R9Jx0
ああ、2分岐でいいんだ
だからcaseなんだ

この場合はこれに切り替え、この場合は、という2分岐がたくさん書いてあるのか
長年の違和感がやっと解決した
2024/10/17(木) 22:45:28.58ID:iAHoYOGo0
with open(file_path, "r") as file:
lines = file.readlines()

これだと普通に動くのですが

with open(file_path, "r" , encoding="utf-8") as file:
lines = file.readlines()

こういう風にopen関数に第3引数を指定すると、実行してもなぜかすぐ終了してしまいます
原因わかる形いませんか?
2024/10/17(木) 22:49:09.06ID:iAHoYOGo0
すみませんencoding="shift-jis"にしたら動きました
質問したらすぐに自己解決する不思議・・・というか何も即終了しなくても
2024/10/18(金) 01:36:02.01ID:Ut6mxk750
でも
matchって色々機能があるね
使うのめんどくさいな
207デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/18(金) 03:44:59.91ID:5Kk3482aa
Zennにもゴミ記事ってあるんだな
https://zenn.dev/nekoshita/articles/01c04ec83144ee
2024/10/18(金) 05:05:39.02ID:YY9Hp1UeH
>>206
うん
if~elifで済ませてきたんだから今更だし
確かPythonには一つのことをするのに複数のやり方があるのはご法度って考えがあったはずだし
開発陣の頭がボケてるとしか思えん
209デフォルトの名無しさん (ワッチョイ 1f45-oCgE)
垢版 |
2024/10/18(金) 07:12:42.20ID:HW2s8lVK0
マッチでもスイッチでもいいが、CPU内では比較命令をそのたびにしてプログラムをジャンプすることでロジックをスルーする。
210デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/18(金) 11:16:24.04ID:wVDH4S6Qa
choiceでも良いし
selectでも良い
2024/10/18(金) 11:26:19.64ID:gGHJI5N60
branchかなあ
複数に分岐する意味も最初から持ってる
でもアセンブラ的にはブランチは条件ジャンプと同義、、、
2024/10/18(金) 13:52:06.91ID:wVDH4S6Qa
case の方を前面に出した言語もあったはずω
2024/10/18(金) 15:40:13.78ID:Ut6mxk750
>>206
速度は場合によるようだね

ifのほうが早いケースもある
2024/10/19(土) 09:16:44.68ID:XsGIQo9N0
print(mes, file=(f, sys.stdout))
みたいなことができればいいのに
2024/10/19(土) 10:19:20.60ID:+tdI/ffv0
複数箇所にwrite()するクラスを用意すれば簡単にできるけど
ちゃんとしたアプリケーションならロガーを使うし
簡易的なスクリプトならpythonの出力をteeするので
普通はやらない
2024/10/19(土) 10:32:03.25ID:XsGIQo9N0
ログではないんだよな
結果をファイルに出力しながら、経過の情報を画面に出力する
所要時間はこれだけでした、みたいな両方に出力したい内容は両方に出す
217デフォルトの名無しさん (スププ Sdbf-l2+s)
垢版 |
2024/10/19(土) 11:05:51.25ID:Qn7y5thLd
>>216
>>215
2024/10/19(土) 11:15:28.75ID:+tdI/ffv0
>>216
であれば余計に1つのprintで処理する内容じゃないから
違う形の抽象化を考えたほうがいいよ

どういう形の抽象化がいいかは将来的な変更の可能性や
コンフィグ可能にしておく要素によって変わってくる
2024/10/19(土) 11:24:28.68ID:XsGIQo9N0
いや、同一内容を2箇所に出力できれば片付く問題なんよ
2024/10/19(土) 11:30:30.87ID:+tdI/ffv0
>>216
経過情報や所要時間はこれだけでしたみたいな出力は一般的にはログって言うんだよ
2024/10/19(土) 11:32:49.65ID:+tdI/ffv0
>>219
printで2箇所に出力したいなら>>215に書いてるように
簡単にできるんだからそうすればいいんじゃない?

いい設計ではないけどね
2024/10/19(土) 11:35:48.54ID:XsGIQo9N0
logは記録に残すもので、画面にだけ表示して消えていいものはlogとは言わない

用語の定義はどうでもいいんだよ
こういう機能があると便利という提案に対して、
それはこの機能でカバーできるから不要であると反論するならば、
全てのケースでカバー可能という悪魔の証明に挑むことになる

代替の方法はあまり良くなくて、提案どおりが最適なんだから、
反論の間違いを認めないと何も進まない
223デフォルトの名無しさん (ワッチョイ 9f8e-QBmB)
垢版 |
2024/10/19(土) 11:40:20.05ID:3bJ6rPck0
また時刻の頭に0が入っていないとかいう馬鹿と同じ馬鹿か
224デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/19(土) 12:10:24.78ID:3T8uATjna
>>219
>>215
2024/10/19(土) 12:13:44.20ID:RjXmMaIpd
teeは全てのケースでカバー可能
226デフォルトの名無しさん (ワッチョイ 8ba6-lE/J)
垢版 |
2024/10/19(土) 13:21:31.18ID:brAMeERq0
あるソフトウェア会社にテスターとして入ったが、
メカ音痴、通信音痴の詐欺人材である。
仕事をやったフリをするのが難しいので、
バグを発見した際はすぐに報告せず、
ストックしておいて小出しに報告するやり方でしのいだ。
なにか問題が発生した際は、
知らない、オレじゃない、アイツがやった、もう済んだこと
を貫徹する現場猫を
2024/10/19(土) 13:34:16.86ID:7nKsGerl0
オアシス運動w
228デフォルトの名無しさん (ワッチョイ 9bbb-0IMV)
垢版 |
2024/10/19(土) 14:24:41.30ID:5nOU6ym70
バカは何やらせてもダメなんだな
229デフォルトの名無しさん (ワッチョイ ef9d-wMW8)
垢版 |
2024/10/19(土) 17:21:49.93ID:57zOCZIx0
だれか教えて。
実行環境はJupyterLab Python3.6.3
今までしっかり動いていたが今朝になって急にPyiCloudがエラーを吐くように。

PyiCloudFailedLoginException: ('Invalid email/password combination.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))

ちなみに同じIDとパスでiPhoneやPCのWebからはログインが出来てる。
これうちだけの環境で起きてるだけかな?
230デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/19(土) 20:22:07.21ID:mCfaJTvfa
>>229
>>229
2024/10/20(日) 02:09:35.96ID:FYgfn/lt0
絵に描いたような老害がおるな
232デフォルトの名無しさん (ワッチョイ c697-6Oo2)
垢版 |
2024/10/20(日) 18:07:25.12ID:57kWXpit0
>>230
>>230
レスの意味がわからん。
一応、昨日の遅くからようやく開発元が認識をしたらしい。
どうもアップル側のセキュリティの方法が変わったとのこと、しばらく対応まちだな。
2024/10/20(日) 22:57:52.56ID:XWbRdnBX0
>>229
seleniumのwebdriver-managerもそうだけど、こう言う「間を介する」モジュールって片方のアップデート次第で不都合起きるからめんどくさいよね。
2024/10/20(日) 23:03:29.57ID:deI+4SvX0
windows = gw.getAllTitles()   ←windowsはlist型と表示されてる

for window in windows: ←windowsはリスト型なのに、windowがAnyになる


これなんでAnyになるのか原因わかる人いますか?もう全然分からない・・・
ただリストの中をwindowで回したいだけなのに・・・
2024/10/20(日) 23:38:07.71ID:UoXQ+/wnH
>>234
何を悩んでるん?
型を気にしなくていいのがPythonを使う最大の強みじゃん
2024/10/21(月) 03:31:23.77ID:1Z2dcRpO0
>>234
Listの各要素はなんでも持てる型だからAny
>Any
>制約のない型であることを示す特別な型です
実際にリストに入ってるデータの型名併記
for window in windows:
 print(type(window), window)
237デフォルトの名無しさん (ワッチョイ c684-6Oo2)
垢版 |
2024/10/21(月) 09:33:53.50ID:D69IqQRS0
>>233
どうもサードパーティらiCloudに接続する方法を根本から変えているっぽくて、かなり大幅な改変が必要とのこと。 正規のライブラリを使っていないアプリケーションでは大規模に影響がでているはず。
とはいえ、もうRuby界隈の方は対応終わってるらしく、方法も公開されているから、Pythonの方も数日の辛抱という感じなのでは?と思っている。
2024/10/21(月) 11:10:24.41ID:cZ+nN4qG0
Appleが許可してない不正な方法でアクセスしてるんだから何が起きても文句は言えんよね

HTTP 503が返されてるのに'Invalid email/password combination.'扱いにしちゃう雑な作りのほうが気になる
2024/10/21(月) 14:35:51.14ID:lFfmrxXT0
icloudってiPhoneなくてもログインできないと詰むからガバガバなんだよね
今時あんなガバガバそうそうないぞ
240デフォルトの名無しさん (アウアウエー Sa8a-v/8H)
垢版 |
2024/10/23(水) 14:24:57.07ID:CetgrrtLa
governance不合格
241デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:00:42.89ID:N5ISBsY60
pythonで不思議なのがif文

例えばこんな感じ。

name = input()
print("Hello " + name)

if name == "python":
print("Welcome")
else:
print("Goodbye")

このケースは二つだけのケースだが
三つのケースはelse:を追加
これって例えば誕生日きくときに
ifで1月
elifで2−11月
else12月。
これであってる?
なんかかなり面倒だからなんとかしてほしいw
242デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:03:09.96ID:N5ISBsY60
あ、そっか。
まとめればいいだけだわ。
解決しましたw
2−11をまとめるとスッキリするねw
243デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:27:22.21ID:N5ISBsY60
マッチつかおっとw
list = [1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 17, 19, 20, 22, 23]
list_mult2 = []
list_mult3 = []
list_others = []

for i in list:
match i:
# 2 の倍数を格納
case i % 2 == 0:
list_mult2.append(i)
# 3 の倍数を格納
case i % 3 == 0:
list_mult3.append(i)
# その他
case _:
list_others.append(i)
244デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:28:36.78ID:N5ISBsY60
上記訂正

# 分割する数字
list = [1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 17, 19, 20, 22, 23]
list_mult2 = []
list_mult3 = []
list_others = []

for i in list:
match i:
case i if i % 2 ==0:
list_mult2.append(i)
case i if i % 3 ==0:
list_mult3.append(i)
case _:
list_others.append(i)

#これでよし!w
245デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:31:39.11ID:N5ISBsY60
switch文かなり便利やな。
match beer_style: # Pilsner, IPA, Hazy IPA and others
case "Pilsner":
result = "First drink"
case "IPA":
result = "I like it"
case "Hazy IPA":
result = "Cloudy and cloudy"
case _: # ワイルドカードパターン
result = "I like most beers"
こんなに簡単にできるんだ。
今までif文がばからしいww
2024/10/30(水) 00:32:21.56ID:E1mCSTtf0
fall-throughしないから6の倍数のやつがダメだろ
2024/10/30(水) 00:35:14.70ID:odUE1a8w0
if elif elseを置き換えるだけではmatchにする有り難みがない
もっとアクロバットなことができるけど、
そんなことをしたらpythonでなくなる気がする
248デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:35:14.71ID:N5ISBsY60
day = 3

match day:
case 1:
print("今日は月曜日です。")
case 2:
print("今日は火曜日です。")
case 3:
print("今日は水曜日です。")
case 4:
print("今日は木曜日です。")
case 5:
print("今日は金曜日です。")
case 6:
print("今日は土曜日です。")
case 7:
print("今日は日曜日です。")
case _:
print("無効な日です。")
2024/10/30(水) 00:36:51.27ID:E1mCSTtf0
どれもdictionaryにまとめるパターン
250デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:43:34.90ID:N5ISBsY60
fruit = "apple"

match fruit:
case "apple" | "banana" | "cherry":
print("これは一般的な果物です。")
case "kiwi" | "mango":
print("これはトロピカルフルーツです。")
case _:
print("これは知らない果物です。")

複数のマッチ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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