「true」を含む日記 RSS

はてなキーワード: trueとは

2023-09-19

入力と欲しい出力を言語化する能力があればマクロ書く能力不要

anond:20230919002911

ChatGPT日本語命令したら秒で作ってくれるのでVBAGAS書く能力不要になったんだが。「A1からI9に数独の初期値入れてあるシートの残りのマス埋めるVBAマクロ作って」の一言数独解くの作ってくれるぞ

ChatGPTが補足している通りロジックは基本しか使っていないので初期値から最終形までに仮定して入れる局面があるものは解けないし非効率ではあるものの初級は解けるし遅いPCでも一瞬で終わる。必要なのは入力の形と欲しい出力を日本語にする能力Hello World実行できるレベル知識コード読んでデバッグできる能力があればなおよいがGPTに教えてもらえばいいし、今業務やってる派遣の人に動作確認してもらって不満なところをAI修正させればよいので業務をよく分かっている社員やらせたほうが会社としてはい戦略

プロンプト

A1からI9に数独の初期値入れてあるシートの残りのマス埋めるVBAマクロ作って

ChatGPT(4.0)の答

数独を解くためのVBAマクロ作成するのは複雑ですが、以下は一つの例です。このマクロはシートのA1からI9の範囲数独を解きます

Function IsPossible(y, x, n, grid) As Boolean
    Dim i As Integer
    Dim j As Integer
    ' 同じ行や列にnが既にあるか確認
    For i = 1 To 9
        If grid(y, i) = n Or grid(i, x) = n Then
            IsPossible = False
            Exit Function
        End If
    Next i
    
    ' 3x3ボックス内にnが既にあるか確認
    Dim x0 As Integer: x0 = ((x - 1) ¥ 3) * 3
    Dim y0 As Integer: y0 = ((y - 1) ¥ 3) * 3
    For i = 0 To 2
        For j = 0 To 2
            If grid(y0 + i + 1, x0 + j + 1) = n Then
                IsPossible = False
                Exit Function
            End If
        Next j
    Next i
    
    IsPossible = True
End Function

Sub SolveSudoku()
    Dim grid(1 To 9, 1 To 9) As Integer
    Dim i As Integer
    Dim j As Integer
    
    ' グリッドをシートから読み込む
    For i = 1 To 9
        For j = 1 To 9
            grid(i, j) = Cells(i, j).Value
        Next j
    Next i

    If Solve(grid) Then
        ' 解をシートに書き出す
        For i = 1 To 9
            For j = 1 To 9
                Cells(i, j).Value = grid(i, j)
            Next j
        Next i
    Else
        MsgBox "解けませんでした"
    End If
End Sub

Function Solve(ByRef grid) As Boolean
    Dim i As Integer
    Dim j As Integer
    Dim n As Integer

    For i = 1 To 9
        For j = 1 To 9
            If grid(i, j) = 0 Then
                For n = 1 To 9
                    If IsPossible(i, j, n, grid) Then
                        grid(i, j) = n
                        If Solve(grid) Then
                            Solve = True
                            Exit Function
                        End If
                        grid(i, j) = 0
                    End If
                Next n
                Solve = False
                Exit Function
            End If
        Next j
    Next i
    Solve = True
End Function

このコードVBAモジュールに追加して、シートに数独の初期値を入力してからSolveSudokuマクロを実行すると、マスを埋めることができます

ただし、このコード基本的バックトラック法を使用しており、非常に複雑な数独には効率的ではない場合があります。より高速な解法や最適化を求める場合は、追加の手法アプローチ必要です。

初期値

https://si-coding.net/sudoku4.html

   2 3 5   7
  8     3 
3     4 5 1 6
  6  1 2 4  
  4  9 8  2 
  2 5   1  3
 9       4
   6     1
   4  1 2 6 
実行結果
1 6 9 2 3 5 8 4 7
4 5 8 1 6 7 9 3 2
3 2 7 9 8 4 5 1 6
5 3 6 7 1 2 4 9 8
7 1 4 3 9 8 6 2 5
9 8 2 5 4 6 1 7 3
6 9 1 8 2 3 7 5 4
2 4 5 6 7 9 3 8 1
8 7 3 4 5 1 2 6 9

2023-09-12

anond:20230912153237

No True Scotsman論法やね

もっと隠していることがあるはずだ」

「より良い対処を考え出せるはずだ」

「だから真の誠実さではない」

結局はジャニが何をやっても「もっと」「もっと」と言って認めたくないわけだ

2023-09-11

anond:20230911173319

これか?知らんかったなあ。

---

2017年ドキュメンタリーAVICII: TRUE STORIES』では、アヴィーチー身体的・精神的な不調を抱える様子と、そんななかでもライブパフォーマンスを続けるようにマネジメントからプレッシャーを受けていたことが明かされた。

遺族による2つ目の声明では「あまりにも完璧主義であることから世界中を旅するなかで心の中に平和を見つけることができずに、極度のストレスを抱えていました。(中略)物事意味人生幸せについて考えることと闘っていました。しかしこれ以上続けることはできなかったのです。平和を見つけたかったのです」と、彼の死が自殺だったことを示唆する内容のコメントが綴られた。

https://front-row.jp/_ct/17165274

2023-08-25

test

https://chat.openai.com/share/c80d83ea-752b-4561-a162-7ea0bd116d56

CSVVBAエクセル

Option Explicit

Dim objExcel, objWorkbook, objWorksheet

Dim strFolderPath, strSourceFile, strTargetFile, strSearchString, strReplaceString

Dim intLastRow, intRow, intColumn

' Excelオブジェクト作成

Set objExcel = CreateObject("Excel.Application")

objExcel.Visible = True

' フォルダパスファイル名の設定

strFolderPath = ".\" ' スクリプトと同じフォルダにあることを仮定

strSourceFile = "変更一覧.xlsx"

strTargetFile = "変更一覧.xlsx"

' Excelファイルを開く

Set objWorkbook = objExcel.Workbooks.Open(strFolderPath & strSourceFile)

' シートのコピー名前の変更

objWorkbook.Sheets("1月").Copy , objWorkbook.Sheets("1月").Index

objWorkbook.Sheets("1月 (2)").Name = "2月"

' セルの値の置換

Set objWorksheet = objWorkbook.Sheets("2月")

objWorksheet.Cells(1, 1).Value = Replace(objWorksheet.Cells(1, 1).Value, "1月", "2月")

objWorksheet.Cells(2, 7).Value = Replace(objWorksheet.Cells(2, 7).Value, "2023/2/14", "2023/3/14")

' 最終行の取得

intLastRow = objWorksheet.Cells(objWorksheet.Rows.Count, 1).End(-4162).Row ' xlUp

' 値のクリア

For intRow = 8 To intLastRow

For intColumn = 1 To 6

objWorksheet.Cells(intRow, intColumn).ClearContents

Next

Next

' テキストファイルの読み込み

Dim objFSO, objTextFile, strContents, arrLines, arrFields, strNewContents

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objTextFile = objFSO.OpenTextFile(strFolderPath & "変更一覧.txt", 1)

strContents = objTextFile.ReadAll

objTextFile.Close

' フィールド区切り文字カンマに設定してデータを分割

arrLines = Split(strContents, vbNewLine)

For Each strContents In arrLines

arrFields = Split(strContents, ",")

For Each strContents In arrFields

If IsNumeric(strContents) Then

strNewContents = strNewContents & "'" & strContents & ","

Else

strNewContents = strNewContents & strContents & ","

End If

Next

strNewContents = Left(strNewContents, Len(strNewContents) - 1) & vbNewLine

Next

' データをシートに貼り付け

Set objWorksheet = objWorkbook.Sheets("2月")

objWorksheet.Cells(1, 8).Value = strNewContents

' セルの値の置換

objWorksheet.Cells(123, 1).Value = Replace(objWorksheet.Cells(123, 1).Value, "F", "FH")

' Excelファイルを保存して閉じる

objWorkbook.Save

objWorkbook.Close

objExcel.Quit

' オブジェクト解放

Set objWorksheet = Nothing

Set objWorkbook = Nothing

Set objExcel = Nothing

Set objFSO = Nothing

Set objTextFile = Nothing

WScript.Echo "スクリプトの実行が完了しました。"

2023-08-12

anond:20230812222510

うそう、真珠湾攻撃も核攻撃先制攻撃自衛権範囲からな。嘘つきさん。

あとウクライナナチスではないとかどこまで馬鹿なのか。ウクライナを支持している時点でナチスだよ。

https://www.nbcnews.com/think/opinion/ukraine-has-nazi-problem-vladimir-putin-s-denazification-claim-war-ncna1290946

But even though Putin is engaging in propaganda, it’s also true that Ukraine has a genuine Nazi problem — both past and present. Putin’s destructive actions — among them the devastation of Jewish communities — make clear that he’s lying when he says his goal is to ensure anyone’s welfare. But important as it is to defend the yellow-and-blue flag against the Kremlin’s brutal aggression, it would be a dangerous oversight to deny Ukraine’s antisemitic history and collaboration with Hitler’s Nazis, as well as the latter-day embrace of neo-Nazi factions in some quarters.

しかし、プーチン大統領プロパガンダに取り組んでいるとしても、ウクライナ過去現在も真のナチス問題を抱えていることも事実だ。 プーチン大統領破壊的な行動、その中にはユダヤ人コミュニティ破壊も含まれるが、自分目標は誰かの福祉を確保することだと言っているプーチン大統領が嘘をついていることは明らかだ。 しかし、クレムリンの残忍な侵略から黄と青の国旗を守ることは重要であると同時に、ウクライナ反ユダヤ主義歴史ヒトラーナチスとの協力、そしてネオナチ派の末日の受け入れを否定することは危険な見落としとなるだろう。いくつかの地区では。

In another ominous development, Ukraine has in recent years erected a glut of statues honoring Ukrainian nationalists whose legacies are tainted by their indisputable record as Nazi proxies. The Forward newspaper cataloged some of these deplorables, including Stepan Bandera, leader of the Organization of Ukrainian Nationalists (OUN), whose followers acted as local militia members for the SS and German army. “Ukraine has several dozen monuments and scores of street names glorifying this Nazi collaborator, enough to require two separate Wikipedia pages,” the Forward wrote.

もう一つの不気味な展開として、ウクライナは近年、ナチス代理人としての議論余地のない経歴によってその遺産が汚されたウクライナ民族主義者を称える像を大量に建てている。 フォワード紙は、ウクライナ民族主義組織(OUN)の指導者ステパン・バンデラを含む、こうした嘆かわしい人物の一部を目録にまとめ、その支持者たちは親衛隊ドイツ軍地元民兵として活動していた。 「ウクライナには、このナチスの協力者を称賛する数十の記念碑と多数の通りの名前があり、ウィキペディアの2つの別々のページが必要になるほどだ」と同紙は書いた。

まり日本人ナチスを支持しているというのが正しい評価

2023-08-08

チョレギサラダ」の謎

はじめに

日本ではすっかり定番となった「チョレギサラダ」。

ざっくり言えば「レタスごま油と塩ダレで和えたサラダである

ワカメ海苔を入れたり、ドレッシング醤油ダレだったりすることも多い。

韓国料理だと思っている人もいるだろうが、実はこのサラダ韓国には存在しない。

そもそも韓国人に「チョレギ」と言っても通用しないらしいのである

では「チョレギ」とは何なのか?

インターネット上ではいくつかの語源説が流布されている。

ちぎる説

かつて多かったのは「チョレギ」=「ちぎるという意味韓国語」という説明である

https://www.seoulnavi.com/special/5000619

チョレギサラダのチョレギとは、手でちぎるという意味。その名のとおり、レタスなどをちぎって作るサラダなのです。

しかし実際に調べてみると、韓国語で「ちぎる」は「뜯다(トゥッタ)」や「찢다(チッタ)」と言う。

この説は明確に誤りと言えそうである

浅漬け

もう一つは「チョレギ」=「韓国語で浅漬けキムチ意味するコッチョリの方言チェレギ」という説である

おそらく以下のようなブログで書かれた内容が広まったのだろう。

https://www.kansyoku-life.com/2006/04/86.html

結論から言うと「コッチョリ」の慶尚道方言で、現地の発音では「チェレギ」と呼ばれます

「コッチョリ」とは浅漬けにしたキムチのことで、発酵期間をおかず、漬けてすぐに食べるのが特徴です。

野菜に味付けをして和えるだけなので、見方によってはサラダとも言えるでしょう。

サンチュのコッチョリなどは、見た目もサラダのものです。

現在Wikipediaなどでも概ねこの説が踏襲されている。

しかし疑問は残る。

サンチュコッチョリは「サンチュ唐辛子ダレで和えたサラダ」とでも言うべきものであり「レタスごま油と塩ダレで和えたサラダ」ではない。

ワカメなどはサンチュコッチョリでも使われることがあるらしいのでいいにしても、少なくとも唐辛子が使われていないとコッチョリとは言えないのではないか…?

犯人エバラ

さて、「チョレギ=ちぎる」説について、前掲の記事ではこう説明されている。

チョレギの意味が混乱しているのは、日本にやってきた当初の説明不足が原因だと思われます

僕の記憶によれば、チョレギを有名にしたのはエバラCM

チョレギドレッシングなるものを発売し、大々的にチョレギの名前日本に広めました。

このときホームページでの説明が、「チョレギとは『ちぎった生野菜サラダ』を意味します」というものでした。

この説明で「チョレギ=ちぎる」という認識が広まりネット上でも、そのように説明されているケースが多いです。


2001年当時のエバラウェブサイト確認してみると、たしかにそう書いてある。

https://web.archive.org/web/20011214042210/http://www.ebarafoods.com/news/recipe/choregi_recipe.htm

チョレギとは?

『ちぎった生野菜サラダ』を意味します。

しかも、当時のエバラの「焼肉屋さんのチョレギサラダシリーズには「あっさり塩味」「ピリ辛コチュジャン味」「焙煎ごま醤油味」があったらしい。

まり当時のエバラは「チョレギサラダ」を「ちぎった生野菜韓国サラダ」というだけの意味で使っていて、味付けはさまざまなものを想定していたのだろう。

ただ、「焼肉屋さんのチョレギサラダ」は2005年頃に販売終了、その後はチョレギドレッシングを発売しても塩味だけにラインナップを絞っているようだ。

まり売れなかった(あるいは塩味しか売れなかった)のかもしれないが、当時は印象的なCMを盛んに流していたので「チョレギサラダ」の知名度は向上したものと思われる。

エバラ以前の「チョレギ」

では、エバラドレッシングを発売する以前、日本で「チョレギ」はどのくらい広まっていたのだろうか?

例によって国会図書館デジタルコレクション調査してみよう。

国立国会図書館デジタルコレクション

これをみるかぎり1976年週刊ポスト記事が最も古い。

国立国会図書館限定」なのでネット上では内容を確認できないが、以下のような記述らしい。

女性に人気があるのは、いうところの野菜サラダであるチョレギなる代物。特製の味つけは店の極秘というだけあって、その味はちょっとしたもの

OCRの精度がかなり怪しいが、どうも「神宮前の『神宮』」という焼肉店を取り上げているのではないかと思われる。

次に古いのが1981年週刊文春記事

それからサラダの「チョレギ」はサラダ菜と長葱に十種類の調味料を合わせたドレッシングが使ってあって、味も格別です。

こちらも、おそらく「青山の家の近くに開店した焼肉屋さんの『第一神宮』」という店について書かれている。

この神宮前の「神宮」と青山の「第一神宮」はおそらく同じ店を指していると思うのだが、

第一神宮 青山店」はつい最近まで営業していたので食べログにも載っている。メニューを見ると、

https://tabelog.com/tokyo/A1306/A130603/13001197/dtlmenu/

チョレギ 700円

手作りドレッシングサラダ

ワカメチョレギ 800円

と、しっかり「チョレギ」が確認できる。「ワカメチョレギ」もある。

また写真を見るかぎりでは唐辛子確認できず、それほど辛くはなさそうだ。

そうしてみると、韓国サンチュコッチョリをもとに現在のようなチョレギサラダを作り出したのは「第一神宮」なのではないか、と推測したくなる。

(もちろん記録に残っていないだけで他店でさらに古くから存在した可能性はある)

ついでに「コッチョリ」も検索してみよう

週刊現代1985年

あっさり味のサラダ「コッチョリ」

主婦生活1987年

夏野菜韓国サラダ・コッチョリ ごま風味の辛みダレでいただく

月刊食堂1992年

コッチョリ(韓国サラダ)

週刊現代2000年)

コッチョリ600円。しょうゆベースの甘辛いドレッシングがかかる韓国サラダ

1980年代の時点ですでに「コッチョリ」も「韓国サラダ」という意味になっていたようだ。

また「あっさり味」「ごま風味の辛みダレ」「しょうゆベースの甘辛いドレッシング」などはそれぞれ異なる味付けに思える。

こうしたバリエーションを眺めて、エバラが「塩味」「コチュジャン味」「醤油味」を発売したというのなら筋が通る。

まとめ

「チョレギ」はもともと韓国浅漬けキムチのことである

韓国ではどちらかというと「コッチョリ」と呼ばれることが多いらしい。

特にサンチュのコッチョリは「唐辛子ダレの野菜サラダ」と言える料理である

日本では1970年代から第一神宮」という焼肉店が「野菜サラダ」として「チョレギ」を提供していた。

それはコッチョリというよりも、おそらく現在チョレギサラダに近いかたちにローカライズされたものだった。

1980年代以降、チョレギやコッチョリは焼肉店などを通して広まり、さまざまな「韓国サラダ」の総称となっていった。

2001年に、エバラ韓国サラダドレッシング商品化した。

塩味」「コチュジャン味」「醤油味」があり、それがおそらく当時の焼肉店でよく見られた韓国サラダラインナップだったのだろう。

また、そのときチョレギサラダ」という呼称採用されたことにより、「コッチョリ」よりも「チョレギ」という呼称が広まることになった。

といった感じでどうだろうか。

ここからさら調査を進めるとしたら「第一神宮」の店主に話を聞いてみたり、

1970年代以前に「チョレギサラダ」や「コッチョリサラダ」を出していた店がなかったかを調べる感じか…。

2023-07-27

[] HoI4 v1.12.14 ドイツ 実績 "True Blitzkrieg" 取得

1940年1月1日までにポーランドフランス降伏させれば達成できる。

1936年ポーランド自力正当化して1937年併合1938年1939年フランス戦(連合国戦)やって降伏させて達成。

1936年

NF

ラインラント」は取らない。戦争することで非武装地帯が解除されるので自動達成できるため。

「四ヶ年計画から始まる工場がもらえるツリー適当に取る。あと「陸軍の諸改革」を取った。師団速度が上がる陸軍長官が好きなので。

政治力用途

政治力+15% の閣僚を二人雇ったらポーランド正当化、という手順をやった。でもこれ、たぶん閣僚雇う前に正当化始めたほうがよかった気がする。その後は「労働条件改善」をしたり、陸軍長官空軍長官を雇ったり、「幻惑の紳士」を雇ったりする。

建設

最初になんとなく民需工場を二つ建てて、あとはずっと軍需工場を立てた。たぶんずっと軍需でいいと思う。

徴兵など

歩兵装備の出る数だけ歩兵徴兵する。ポーランド国境に並べる。開戦までに歩兵24師団の追加を目論む。

空軍パイロット訓練させる。海軍適当に訓練。

諜報

諜報機関設立して暗号部門を五つ強化するまで進めて、諜報員を二人出す。その後はしばらく強化しない。アンシュルスなど済んで民需に余裕が出来たら再開する。諜報員ポーランドに仕込む。

1936年末〜1937年

ポーランド

正当化が終わったらすぐに宣戦。東側飛び地の東プロイセン国境24師団歩兵を並べておき、ここは動かさず固めておく。広い方の国境歩兵24師団を並べて開戦と同時に突っ込ませる。戦車騎兵は別の軍団にして、西プロイセンとダンツィヒ突撃して東プロイセン繋ぎに行く。飛行機を全て西ポーランド飛ばして補助。

海軍特にすることはない。暇なのでバルト海通商破壊したり機雷撒いたりしとく。

ある程度押し込んで東プロイセンと繋がったら、東プロイセン軍団も南下を開始。ワルシャワとあと少しを押さえたらポーランド降伏する。

講和会議では全併合する。国際緊張度が上がるが仕方ない。傀儡化するとたぶん実績が取れなくなる。(一敗)

NF

ラインラント」が自動達成できるので取る。「アンシュルス」が取れるようになったらすぐ取る。

その後は産業系を適当に取って内政。あらかた取ったら「東方地帯の再要求」の後、「ダンツィヒ戦争か」をポーランドがいないので自動達成、「マジノ線迂回」で開戦事由を取りに行った。でも NF で開戦事由取るより、自力正当化した方がよかったような気もする。

諜報

ポーランド戦が終わったら諜報員フランスに仕込む。「協力政府作成」を一段階やって降伏を早めておく。その後はフランスの諜報網は休止、ベルギーオランダ諜報員を入れて開戦に備える。

建設

軍需工場や合成精製所を建てる。対仏戦直前は、レーダー建てたり対空砲建てたりしてた。

徴兵など

歩兵師団と軽戦車師団適当徴兵する。出せれば中戦車を出したかったが、間に合わなかったのでこれで押し切った。

1938年中頃〜

連合国

NFで得た開戦事由で低地地方にまとめて宣戦。すると英仏が宣戦してくるので世界大戦勃発。歩兵師団仏国境に並べて固めておく。マジノ線突撃するのは無謀なのでここは動かさない。残りの歩兵師団戦車師団補給ができそうな数だけ低地地方に突っ込ませる。予備の師団オーストリアで待機。

空軍戦闘機を少しドイツ領の防空に配置し、残りを全部低地地方に飛ばす。

海軍は動かしてもボコボコにされるだけ。交戦を避けながら機雷を撒いたり、スペイン沖の深海ちょっと通商破壊したり位しかできない。

しばらくするとイタリアが枢軸に加盟してくれるので、すぐに予備師団を伊仏国境に貼り付ける。準備ができたらイタリアを参戦させて攻撃開始。

低地地方が終わったら南下。諜報網も再開。フランス勝利点を少し取ったら降伏してくれて実績が達成できた。実績が取れたのでここで終わり。

他の方法など

2023-07-05

anond:20230705111302

Linqとか各言語all関数を叩けばそもそもtrueが帰ってくることがわかるはずなので、

falseを返すタイプ車輪を再発明する無能だし、仕様によるタイプ数学センスがない。

anond:20230704231859

プログラミングなんて書いてりゃそのうち成長するよ。まあ、現在進行形被害を被っている君には関係ない話かもしれんが。

そんなことは無い。この前の「配列のすべての要素が条件を満たすなら True を返す」騒動を思い出して欲しい。

数学素養が無いと、いくら経験を積んでも「コードを書くのが早いだけで周りの生産性は下げている人」になる。

2023-07-04

10. タプルとコレクション

Python勉強メモ

ゼロからPython入門講座

10. タプルとコレクション

https://www.python.jp/train/tuple/index.html

 

以下、気になったところ。

 

タプル

タプル

Pythonでは、複数データの組み合わせから構成されているデータ表現する場合、タプル という種類のオブジェクトを利用します。

タプル(tuple)は、組 などとも呼ばれ、複数の要素が決まった順番にならんだ値を指します。

 

タプルの書き方

タプルオブジェクトは、複数の値をカンマ , で区切って記述します。

 

タプルはカッコで囲む習慣

タプルは、要素となるデータを「 , 」で区切って記述できますが、「, 」だけだとちょっと見にくいので、通常は全体を丸括弧 () で囲んで記述します。

 

ningyocho = (35.686321, 139.782211)

kotoshi = ('平成', 2)

 

この括弧は必須ではありませんが、括弧なしでは読みにくく、間違いの元になる場合もあるので、通常は括弧をつけて記述する慣習になっています

 

タプルオブジェクトの要素を参照する

タプルオブジェクト登録したオブジェクトは、リスト と同じように 要素の順番 を指定して参照できます

 

タプルオブジェクト[要素の順番]

 

要素の順番 として指定する数値のことを、リストオブジェクトと同じように インデックス(添字) と呼びます

 

タプルの比較演算子

タプルは、数値や文字列と同じように、比較演算子 を使って他のタプルと値を比較できます

 

== 演算子でタプル同士を比較すると、同じ値のタプルならTrue を返します。

 

!= 演算子でタプル同士を比較すると、異なる値のタプルなら True、等しい値なら False を返します。

 

<、 <=、>、>= などの演算子で、タプル同士の大小を判定できます

 

タプル同士の値の比較は、先頭の要素から順番に同じインデックス同士の値を比較して、先に小さい値となったタプルが小さい値となります

比較するタプル同士の長さが異なる場合、短いタプルの要素と長いタプルの要素を比較してすべて等しければ、短い要素のほうが小さい値となります

 

タプルオブジェクト操作

タプルオブジェクト場合リストオブジェクトのように要素を変更することはできません。

タプルオブジェクトの要素を変更する場合は、リストオブジェクトのように要素を変更するのではなく、あたらしくタプルオブジェクト全体を作り直す必要があります

 

タプルとリスト

タプルとリストはとてもよく似ています

どちらも他のデータを格納できるコンテナオブジェクトで、格納した要素は数値をインデックスとして参照できます

リストにはデータを追加したり削除したりできますが、タプルは変更できません。

 

リストとタプルはどのように使い分ければよいのでしょうか?

 

タプルは複数データの組み合わせから構成されているデータのためのオブジェクトです。

決まったルール記述した、固定的な形式データです。

複数の要素から構成される独立したデータ をあらわすときは、タプルを使用します。

 

固定的な形式もつ独立したデータではなく、不定個数の独立したデータをたくさん集約してまとめておきたい、という用途には、リストが適しています

 

リストとタプルの使い分け

 

コレクション

コレクション

数値オブジェクトは、物質の重さや長さなど、いろいろなデータの値を直接あらわすオブジェクトです。

一方、 リスト辞書は、直接的なデータではなく、いろいろなデータ登録して、集約しておくために使われるオブジェクトです。

 

リストやタプル、辞書のように、他のオブジェクトを集約することを目的とした種類のオブジェクトのことを、

コレクション (Collection)

と呼びます

 

コレクション操作

コレクションに属するオブジェクトは、どれも同じように使える、共通の処理が用意されています

 

コレクションの要素数

コレクション登録されている要素の数は、len() 関数で調べられます

 

コレクション比較演算子

コレクションは、比較演算子 の == 演算子や != 演算子で、値が等しいかどうかを判定できます

 

in 演算子

in 演算子を使うと、コレクションに値が登録されているかどうかを調べられます

in 演算子は < や == のような 比較演算子一種で、

値 in コレクション

という式は、指定した値がコレクション登録されていれば True を、登録されていなければ False を返します。

 

辞書の in 演算子

辞書オブジェクト場合、in 演算子指定した キー登録されているかどうかを調べます

 

文字列の in 演算子

文字列オブジェクト場合も、in 演算子で中に文字が含まれいるかどうかを確認できます

 

for文

コレクションは、 for 文に指定して、コレクションの要素ごとに、for 文に記述した処理を実行できます

 

辞書とfor文

辞書オブジェクトを for 文に指定すると、辞書のすべての キー を取り出して、for文に指定した処理を行います

 

シーケンス

リスト・タプル・文字列はいずれも コレクション に属するオブジェクトですが、コレクション一種で、整数値のインデックス指定して要素を参照できるオブジェクトのことを、

シーケンス (Sequence)

と呼びます

 

コレクションシーケンスの違い

リストやタプルなどのオブジェクトは、コレクション一種で、他のオブジェクト登録し、集約できるオブジェクトです。

シーケンスとは、コレクションのうちで、集約する要素が一定の順序で並んでいて、その順序(インデックス)を使ってその要素を指定できる種類のオブジェクトのことを指します。

 

コレクションに属するオブジェクトでも、リストやタプルとは違って、辞書 は、順序を指定して要素を指定することはできません。

このため、辞書コレクションですが、シーケンスではありません。

 

 

シーケンス比較演算子

タプルやリスト文字列などのシーケンスオブジェクトは、 <、 <=、>、>= などの演算子で、値の大小を判定できます

シーケンスではない、辞書オブジェクトなどのコンテナオブジェクトは、 < などによる大小の比較はできません。比較すると、エラーとなります

 

コレクションのアンパック

コレクションのアンパック

代入式の右辺がコレクションなどの場合には、左辺に複数変数名を指定して、コレクションの要素を一括して変数に代入できます

コレクションの要素を一括して変数に代入する方法を、アンパック(unpack) といいます

 

(例)

list_obj = [1, 2, 3]

var1, var2, var3 = list_obj # var1, var2, var3 に、list_objの要素を順に代入

print(var1, var2, var3)

 

1 2 3

 

変数 var1、var2、var3 には、右辺のリストオブジェクトの要素が一つずつ順番に代入されます

この場合、var1 には list_obj の最初の要素である 1が、var2、var3 には、それぞれ2番目と3番目になる 2 と 3 が代入されます

 

アンパックを利用した代入は、Pythonプログラミングで頻繁に利用されます

 

アンパックは、複数の値を戻り値とする 関数 でよく使われます

 

関数計算した結果は、return文 を使って、戻り値として返します。

しかし、関数 total_and_average() は合計値と平均値の2つを計算しますが、 return文 に指定できる戻り値は一つだけです。

そこで、return文には (合計値, 平均値) のタプルを指定し、二つの値を一つのタプルにまとめて返り値とします。

 

(例)

def total_and_average(values):

  total = 0 # 合計値の初期値 0 を設定

  for value in values:

    total = total + value

  # データ件数を求める

  num = len(values)

  

  # 合計値 ÷ 件数平均値を求める

  average = total / num

  # 戻り値として (合計値, 平均値) のタプルを返す

  return (total, average)

 

戻り値としてタプルを使い、複数の値を一度に返す関数はとてもよく使われます

テクニックとして覚えておきましょう。

 

まとめ

9. 辞書オブジェクト

Python勉強メモ

ゼロからPython入門講座

9. 辞書オブジェクト

https://www.python.jp/train/dict/index.html

 

以下、気になったところ。

 

辞書

辞書オブジェクト

あるデータ対応する関連データ登録できるような仕組みとして、Python辞書オブジェクト を用意しています

辞書オブジェクトには、appleりんご のような、2つの値を組み合わせた情報登録できます

appleりんご の組み合わせを登録した辞書オブジェクトで、apple検索すると、本物の英和辞典とおなじように りんご が返ってきます

このような機能から辞書オブジェクトは、別名「連想配列」とも呼ばれます

 

 

これらの基本的データ構造は、Pythonだけに限らず、他のプログラミング言語でも用意されている機能である

 

キーと値

辞書オブジェクト検索する時に指定するデータ(この例では apple) を、辞書キー といいます

また、キー対応して、検索の結果となるデータ(この例では りんご)を、辞書の 値 といいます

 

辞書オブジェクト作成

辞書オブジェクトは、波括弧 { と } で作成します。

 

{キー1:値1, キー2:値2, ...}

 

{ と } の間には、登録するキーと値を キー:値 という形式指定し、, で区切って記入します。

 

辞書作成

english_words = {"apple": "りんご", "orange": "みかん", "peach": "もも"}

print(english_words)

 

{'apple': 'りんご', 'orange': 'みかん', 'peach': 'もも'}

 

要素が登録されていない、空の辞書は、{} だけで作成します。

 

辞書の参照

辞書オブジェクト登録した要素は、次のような式で参照できます

 

辞書オブジェクト[キー]

 

print(english_words["apple"])

りんご

 

辞書登録されていない値のキー指定すると、次のようにKeyError というエラーが発生します。

 

english_words['banana']

---------------------------------------------------------------------------

KeyError

 

辞書操作

要素の追加と置き換え

辞書オブジェクトに要素を追加するときは、次のように記述します。

 

辞書オブジェクト[キー] = 値

 

このとき指定したキー辞書登録されていれば、その要素を指定した値で置き換えます

 

要素の削除

辞書オブジェクト登録されている要素を削除するときには、del 文を使います

 

del 辞書オブジェクト[キー]

 

辞書オブジェクトから指定したキーの要素を削除します。

登録されていないキーを削除すると、 KeyError というエラーが発生します。

 

辞書の要素数を求める

辞書登録されている要素の数は、リストオブジェクトと同じ ように、 len() 関数を使って求められます

 

in 演算子

辞書キー登録されているかどうか調べるときは、in 演算子を使います

in 演算子は &lt; や == のような 比較演算子一種で、

 

キー in 辞書オブジェクト

 

という式は、指定したキー値が辞書オブジェクト登録されていれば True を、登録されていなければ False を返します。

 

まとめ

8. オブジェクトとリスト

Python勉強メモ

ゼロからPython入門講座

8. オブジェクトリスト

https://www.python.jp/train/list/index.html

 

以下、気になったところ。

 

Pythonの型とオブジェクト

Pythonでは、整数実数文字列などのデータのことを、オブジェクト(Object) という用語で呼びます

Object英語で「物」とか「対象」とかい意味言葉ですが、Pythonでは、Python操作するいろいろな種類のデータプログラムなどのことを、まとめて オブジェクト と呼びます

 

オブジェクトの種類のことを、型 と呼びます

たとえば、数字の2は、整数型のオブジェクト文字列abc は、文字列型のオブジェクト という呼び方します。

次のプログラムは、関数 foo() を定義していますが、

def foo():

  print("hi!")

この foo も、 関数型のfooオブジェクト です。

import 文を使ってロードした モジュールオブジェクトです。

 

オブジェクト範囲

オブジェクトではないもの

演算子やwhile文 ・ if文 などはPythonに対する実行命令で、実体のあるオブジェクトではありません。

数値などの値のように、変数に代入したり、関数のように関数名を指定したりと、プログラマ名前をつけられるものオブジェクト

whileのようにつけられないものオブジェクトではない、

と考えると良いと思います

 

この説明だけでは、Pythonオブジェクトについて曖昧さが残りスッキリしない。

Python言語仕様で、オブジェクトはどうなっているのか?検索してみた。

 

google:python オブジェクト

 

cf.Python入門]Pythonオブジェクトとは - ITmedia

https://atmarkit.itmedia.co.jp/ait/articles/1907/12/news019.html

Python公式サイトにあるドキュメントオブジェクト、値、および型」では、Pythonにおけるオブジェクトとは「データ抽象的に表したもの」と表現されている。

まりPythonで書いたプログラム操作したり、処理したりするデータのことを「オブジェクト」という。

説明
int 整数」を表現する型
float 浮動小数点数」を表現する型
bool TrueFalseのいずれかの値を取り、真偽値(条件が成立しているかどうか)を表現する型
strUnicodeコードポイント値を任意の数だけ並べた「文字列」を表現する型(変更不可能
list 任意の型の要素を任意の数だけ並べた「リスト」を表現する型(変更可能
tuple 任意の型の要素を任意の数だけ並べた「タプル」を表現する型(変更不可能
dict キーと値の組からなる要素を任意の数だけ並べた「辞書」を表現する型(変更可能
set/frozenset任意の型の要素を任意の数だけ並べた順序のない「集合」を表現する型(setは変更可能。frozensetは変更不可能
function 関数」を表現する型
moduleモジュール」や「パッケージ」を表現する型

 

cf. 3. データモデルPython 3.11.4 ドキュメント

https://docs.python.org/ja/3/reference/datamodel.html#objects-values-and-types

Python における オブジェクト (object) とは、データ抽象的に表したものです。

Python プログラムにおけるデータは全て、オブジェクトまたはオブジェクト間の関係として表されます

(ある意味では、プログラムコードもまたオブジェクトとして表されます。これはフォン・ノイマン: Von Neumann の "プログラム記憶方式コンピュータ: stored program computer" のモデルに適合します。)

 

先に「プログラムデータ+処理」という話を挙げたが、

要するにPythonプログラムの中で処理(操作)できる対象すべてがデータであり、なおかつオブジェクトである」ということらしい。

 

上記の型の表を見ると、Pythonには「function」という関数オブジェクトもあるので、関数それ自体を1つのデータとして扱うことも可能

これを、「第一オブジェクト」という。

 

cf. 第一オブジェクト - Wikipedia

https://w.wiki/6wz4

第一オブジェクトファーストクラスオブジェクト、first-class object)は、あるプログラミング言語において、たとえば生成、代入、演算、(引数戻り値としての)受け渡しといったその言語における基本的操作制限なしに使用できる対象のことである

ここで「オブジェクト」とは広く対象物・客体を意味し、必ずしもオブジェクト指向プログラミングにおけるオブジェクト意味しない。

第一オブジェクトは「第一データ型に属す」という。

この言葉1960年代クリストファー・ストレイチーによって「functions as first-class citizens」という文脈で初めて使われた。

 

言語によって異なるが、第一オブジェクトは概ね次のような性質もつ

 

リスト

決まった順番に並んだ値で構成される情報は、Pythonでは リストオブジェクト表現します。

リストオブジェクトは、他のオブジェクトを 要素 として登録できるオブジェクトで、他のプログラミング言語では配列などと呼ばれることもあります

 

リストオブジェクトは、次のように 角カッコ [ と ] で作成します。

 

[要素1, 要素2, ...]

 

[ と ] の間には、リストの要素となるオブジェクトを、, で区切って指定します。

 

要素が登録されていない、空のリストは [] だけで作成します。

 

要素の参照

リストオブジェクト登録した要素は、次のような式で参照できます

 

リストオブジェクト[要素の順番]

 

リストオブジェクト登録した要素を参照するときは、リストオブジェクトに、参照する要素の順番を指定します。

最初の要素を参照するときは 0、その次は 1、のように指定します。

 

インデックス(添字)

ここで指定している要素の順番のことを、インデックス(添字) と言います

リスト最後の要素のインデックスは、リストの要素数 - 1 となります

 

インデックス(添字)は、1から始まるのではなく、0から始まる点に注意が必要

 

リスト操作

要素の挿入

リストに要素を追加するときには、リストメソッド である insert() を使用します。

 

挿入位置として、インデックスの最大値以上の値を指定すると、リストの末尾に要素を追加します。

 

要素の置き換え

登録済みの要素を別の要素に置き換えるときは、次のように記述します。

 

リストオブジェクト[インデックス] = 値

 

変数 の代入文とおなじ形式ですね。

代入文の左辺に指定できるインデックス値は、リストオブジェクト最後インデックス値 までです。

 

要素の削除

リストオブジェクト登録されている要素を削除するときには、del 文を使います

 

del リストオブジェクト[インデックス]

 

リストオブジェクトから指定したインデックスの要素を削除します。

del 文で指定できる要素のインデックスは、要素の置き換え と同じように、リストオブジェクト最後インデックス値 までです。

無効インデックス値を指定すると、エラーになります

 

while文を使ったリストループ処理

リストの長さを測るメソッド len()

リストオブジェクトの要素数を教えてくれる、len() という関数があります

関数 len() は、引数リストオブジェクト指定すると、その要素数を返してくれる関数です。

 

values = [1,2,3,4] # 要素数4のリスト

print(len(values))

4

 

for文によるループ

リストの要素を順番に参照する処理は非常によく行われるため、もっと簡単に書けるように、for 文 という、専用の文法が用意されています

 

for文の書き方

for 文は、次の形式記述します。

 

for 変数名 in リストオブジェクト:

  処理1

  処理2

  ...

 

for 文は、リストオブジェクト から要素を一つずつ順番に取り出し、それぞれの要素ごとに、for 文に続けて記述した処理を、一度ずつ実行します。

変数名 には、リストオブジェクトから取り出した要素を参照する変数名を指定します。

 

まとめ

2023-07-02

6. while文による繰り返し

Python勉強メモ

ゼロからPython入門講座

6. while文による繰り返し

https://www.python.jp/train/loop/index.html

 

以下、気になったところ。

 

while文によるループ

条件式と分岐 で、コンピュータプログラムの三つの制御構造を紹介しました。

ここでは最後制御構造である 反復(ループ) を紹介します。

反復処理は、決まった条件が満たされているあいだは、何度でも同じことを繰り返す、という処理です。

 

while文

Pythonでは、反復処理は while 文で記述します。

 

while 条件式:

処理1

処理2

...

 

while 文は、条件式 が満たされ、結果が True (真) であるあいだ、処理 を繰り返して実行します。

 

while文と、その後に続くインデントされたブロックを、while節 と言います

 

ループが止まらなくなってしまったら

whileループを使ったプログラムは、書き間違えると永久ループを実行し続ける事になってしまます

これが有名な「無限ループ」というやつですね。

Colabでは、こういったプログラムを実行して終了できなくなってしまったら、実行中のセル左側にあるボタンクリックすると、中断できます

 

break文による中断

while 文によるループは、指定した条件式が False になると、ループを終了しますが、それ以外にも、ループの途中で break 文を実行すると、ループを抜け出せます

 

代入文と等号

学校算数では、= という記号を 等号 として習ったと思います

しかし、Pythonをはじめとして、多くのプログラミング言語では、= 記号を等号とは違った意味で使います

 

かに「代入」の記号として「=」を使ってしまったのは、初心者に混乱をもたらす原因にもなるので、失敗だったのではないだろうか?と思う。

個人的には、リスト内包表記で値を取り出すときに使われる矢印みたいな記号(「&lt;-」)を、変数に値を代入/束縛するとき記号として採用すべきだったのではないかと思う。(内包表記の方は「&lt;--」にする等、違う記号にする工夫をすればOK

 

ここでは、とりあえず数学等価の「=」と、プログラミングの代入の「=」は違う、ということを理解しておけばOK

 

continue

break文による中断 では、ループを途中で中断する break 文を紹介しました。

今度は、ループを中断するのではなく、ループの先頭に戻ってやり直す continue 文を紹介します。

 

中断と継続のどちらを指定した方が、反復を書きやすいかで選べばOK

 

ところで、「counter」とか「i」とか、反復している間に回数などを記録しておく変数は、関数型プログラミングではどうなっているのだろうか?

 

アキュムレーター(accumlator 累算機)

関数型プログラミングでは、「再帰」という仕組みで反復を書ける。

再帰の仕組みは、高校数学で「数列」を習うと理解できる。

 

再帰で反復している間、途中の計算結果を保持する方法として、「アキュムレーター」(塁算機)という機能が用意されている関数型プログラミング言語が多い。

アキュムレーターを使うと、Pythonカウンターと同じようなことが関数型でもできるようになっている。

関数型プログラミングでは再帰で反復を行うために、いろいろな工夫や機能があるので、後々学ぶときに改めて学ぼう。

 

cf. 再帰を末尾再帰に変換する基本ステップ - Qiita

https://qiita.com/necojackarc/items/0aa2e35147da6a2c702a

 

まとめ

  • Pythonで反復を書くために、while文が用意されている。
  • 反復を中断させたり継続するために、break文やcontinue文が用意されている。
  • while文は書き方(条件)を間違えると、永久ループになって終わらなくなるので注意が必要
  • Colabでは、永久ループになったら強制的に停止させることができる。
  • 関数型プログラミングでは、再帰やアキュムレーター(累算機)などを使えば、Pythonの反復と同じことができる。

5. ブール型と論理演算子

Python勉強メモ

ゼロからPython入門講座 

5. ブール型と論理演算

https://www.python.jp/train/logical_oper/index.html

 

以下、気になったところ。

 

ブール型と論理演算

2つ以上の比較演算子を組み合わせ、もっと複雑な条件を記述する 論理演算 を学びます

 

ブール型

ブール型 は TrueFalse どちらかの値をとり、TrueFalse は、それぞれ 真 と 偽 を意味します。

 

論理演算

つの条件式だけでなく、複数の条件を組み合わせた、複雑なルールプログラムとして記述できます

このように、複数の条件を組み合わせて、条件を判定する演算子を、論理演算子(またはブール演算子) と言います

 

Python論理演算子には、次の3種類があります

1. and 演算子

2. or 演算子

3. not 演算子

 

以下に、この3つの論理演算子の説明が続くのだが、説明見てみるとベン図の説明がなかった。

中学校高校数学で、「集合」や「ベン図」の書き方などを習ったはずなので、論理演算子の働きについては図解で示した方が分かりやすいだろう。

 

ベン図

ベン図 - Wikipedia

https://w.wiki/5CPU

ベン図(ベンず、もしくはヴェン図、英: Venn diagram)とは、複数の集合の関係や、集合の範囲視覚的に図式化したものである

イギリス数学者ジョン・ベン (John Venn) によって考え出された。

 

論理演算をベン図で表すことがある。

ベン図は本来は集合についての関係を表すもので、論理演算に対してベン図を用いるのは本来の使い方ではないが、現実には、集合代数論理演算ブール代数として等価であることから論理演算視覚にわかやす表現する手法としてしばしばベン図が用いられる。

 

cf. 集合(和集合/積集合/否定)とベン図とは?|ITパスポート試験無料教材 | ぽんぱす

https://45kaku.com/itpassport_text_33-04/

↑このWebページの「和集合/積集合/否定」という項目の図を参考にすれば、「and」「or」「not」がどうなっているかよく分かる。

 

and 演算子

and 演算子は、左右に指定された値の両方が True場合True を返します。 どちらか一方でも False なら、and 演算子の結果も False となります

 

論理積

and のように、すべての入力値が Trueときのみ結果が True となる論理演算は、論理積 ともいいます

 

or 演算子

or 演算子は、左右に指定された値のどちらか一方、または両方が True場合True を返します。 両方が False なら、or 演算子False となります

 

論理和

or のように、すべての入力値が Falseときのみ結果が False となる論理演算は、論理和 ともいいます

 

not 演算子

not 演算子は、指定した式の値を 反転 し、値が True(真) なら False(偽)を返し、False(偽)ならTrue(真) を返す演算子です。

 

否定

not のように、入力値が反転した値が結果となる論理演算を、否定 ともいいます

 

まとめ

  • 論理演算子「and」「or」「not」の働きは、ベン図を書くとよく分かる。

4. 条件式と分岐

Python勉強メモ

ゼロからPython入門講座

4. 条件式と分岐

https://www.python.jp/train/if_condition/index.html

 

以下、気になったところ。

 

条件式と分岐

コンピュータプログラムは、どんなに複雑そうにみえプログラムでも、細かく分解すれば次の3つの単純な構造の組み合わせで構成されています

1. 処理を上から順番に一つずつ実行する 順次処理

2. 条件によって処理を選択する 分岐処理

3. 条件が満たされている間、処理を繰り返す 反復処理

 

重要なことがサラッと書かれている。

これは一般的に「構造プログラミング」と呼ばれている考え方のことだ。

 

構造プログラミング - Wikipedia

https://w.wiki/3eS6

構造プログラミング(こうぞうかプログラミング、英: structured programming)は、コンピュータプログラムの処理手順の明瞭化、平易化、判読性向上を目的にしたプログラミング手法である

一般的には順接、分岐、反復の三種の制御構造(control structures)によって処理の流れを記述することと認識されている。

制御構造制御構文、構造化文(structured statement)、制御フロー文(control flow statement)とも呼ばれる。

また、プログラム任意に分割した部分プログラムサブルーチンコードブロック)の階層的な組み合わせによるプログラム構造化も指している。

このプログラミング手法の普及に貢献したのは、1968年計算機科学エドガーダイクストラによるACM機関紙への投書「Go To Statement Considered Harmful」と言われている。

 

前に「プログラムデータ+処理」という話をした。

プログラム構成する要素は、(1)データと(2)処理であり、構造プログラミングは、このうちの(2)処理に関する話という位置付けになる。

手続プログラミング命令プログラミング一種)では、処理を

  1. 順接
  2. 分岐
  3. 反復

という3つの動作組合せで作っている。

 

後で学ぶ関数型プログラミングでも、この3つと同じことができる動作が登場する。

参考までに手続型と関数型の基本動作について、対応関係を押さえておこう。

手続関数動作
順接 合成 処理をつなげていく
分岐パターンマッチ 処理を場合分けする
反復 再帰 処理を繰り返す

 

構造プログラミングの図解

構造プログラミングの仕組みは、文字でゴチャゴチャ説明されるよりも、目で図解を見た方が早いと思う。

Googleの画像検索で「構造プログラミング」を検索して、分かりやすそうな図解を探してみよう。

 

cf. 構造プログラミングの苦難の歴史

https://monoist.itmedia.co.jp/mn/articles/1008/17/news092.html

 

↑ちなみに、図解で出てくる流れ図みたいなのはフローチャート図」と呼ばれていて、プログラム構造を紙に書くときよく使われる書式である

 

比較演算子

値を比べる方法が紹介されている。

数値の大小は、比較演算子と呼ばれる記号で書ける。

 

増田比較演算子を書く方法

はてなアノニマスダイアリー通称増田)で記事を書く時、一部の文字エスケープされて元々の文字を表示できない。

検索したら回避方法が紹介されていた。

anond:20200114141823

増田記号を正しく入力するには、数値文字参照を使うんやで

&#38; → &

&#60; → <

&#62; → >

 

演算子 条件
a < b a は b より小さい
a <= b a は b と等しいか小さい
a > b a は b より大きい
a >= b a は b と等しいか大きい
a == b a と b は等しい
a != b a と b は等しくない

 

ブール型

真か偽かを示すデータの種類として、ブール型という新しい型が紹介されていた。

 

cf. ブーリアン型 - Wikipedia

https://w.wiki/3FSR

ブーリアン型(ブーリアンがた、英: Boolean datatype)は、真理値の「真 = true」と「偽 = false」という2値をとるデータである

ブーリアン、ブール型、論理型(logical datatype)などともいう。

2種類の値を持つ列挙型とも、2進で1ケタすなわち1ビット整数型とも、見ることもできる。

 

また、各種ブール演算を行うことができ、論理積 (AND、&、*)、論理和 (OR、|、+)、排他的論理和 (XOR、NEQV、^)、同値 (EQV、=、==)、非同値 (NEQV、<>、!=)、否定 (NOT、~、!) などの操作可能である

これらの演算ブール代数演算対応している。

 

cf. ブール代数 - Wikipedia

https://w.wiki/53JN

ブール代数(ブールだいすう、英: boolean algebra)またはブール束(ブールそく、英: boolean lattice)とは、ジョージ・ブールが19世紀中頃に考案した代数系の一つである

ブール代数研究は束の理論が築かれるひとつの契機ともなった。

ブール論理演算ブール代数の一例であり、現実の応用例としては、組み合わせ回路(論理回路)はブール代数の式で表現できる。

 

cf. 「Boolean」の翻訳を「論理型」とすべき3の理由 – Kenchant

https://senooken.jp/post/2016/03/21/2571/

プログラミング言語HTMLのようなマークアップ言語などプログラミングに関する文書を呼んでいるとboolean(ブーリアン)という単語に出くわす。

Booleanとは真(True)と偽(False)という2値をとるデータ型のことである

 

情報元によって、このBooleanの翻訳呼び方が異なっている。以下のように呼ばれたり訳され、最後に「型」や「値」がついたりつかなかったりする。

ブール、ブーリアン、真偽、論理、真理

 

このBooleanの呼び方としてどの訳し方がよいか気になったので調べた。

その結果「論理型」と訳すのがよいという結論が得られた。

その理由は以下3点だ。

 

1. Booleanはlogical data type(論理型)の特殊なケースであること。

2. JIS規格での翻訳採用数が一番多い。

3. 論理演算用語統一される。

 

Colabで比較演算子の働きを確かめてみよう。

10 < 100 # 10100より小さい

True

10 > 100 # 10100より大きい(間違い)

False

 

文字列の比較

文字列同士の比較では、人間感覚とはことなった比較結果となる場合があるので注意してください。

一般的には、半角の数字アルファベット比較は、次のような結果になり、安心して利用できます

 

1. 数字は、文字の0が最小、9が最大(0 < 1 < 2 < ... < 9)

2. アルファベットでは、a が最小、z が最大 (a < b < c < ... < z)

3. 大文字は小文字より小さい (A < a, B < b, ...)

4. 数字は、アルファベットよりも小さい (0 < 9 < A)

などのルールがあります

 

文字列の大小の比較に、ユニコードという文字一覧表を使っており、その文字コードの大小で比較しているという種明かしをしないと意味が分からないと思う。

種明かしをしていない、という意味で、この説明もあまり良くないと思った。

 

cf. python 文字列の比較 | Hello, Pygineer

https://knuth256.com/2021/09/20/python-%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E6%AF%94%E8%BC%83%EF%BC%81unicode%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%A7%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE/

文字列 (strインスタンス) の比較は、文字Unicodeコードポイントの数としての値 (組み込み関数 ord() の返り値) を使った辞書式順序で行われます

抽象文字レベルで (つまり人間にとって直感的な方法で) 文字列を比較するには unicodedata.normalize() を使ってください。

 

文字列の比較は、一致か不一致かを調べる場合が多いと思うので、大小の比較はあまり気にしなくても良いような気がする。

 

if 文 による条件分岐

条件による処理の分岐は、if 文 で行います

if 文は次のように記述します。

 

if 条件式:

処理1

処理2

...

 

このように記述すると、条件式 の結果が True になったとき、処理1、処理2、... が実行されます

条件式 が False場合は、処理1、処理2 は実行されません。

 

インデント(字下げ)

Pythonの書き方を特徴付けている1つが、この「インデント記法

 

if 文の書き方

if 文は、 まず if 条件式: という行で始まります

条件式の後ろに、: 記号必要ですので、忘れないように気をつけてください。

if 条件式: の次の行から、条件式が True となった場合に実行する処理を記述します。

 

インデント

条件が満たされたときに実行する処理は、行の先頭に スペース文字 を 4文字 入力してから記述します。

 

if a == 100:

  処理1

  処理2

  処理3

^^^^

スペースを4文字入力

このように、行の先頭にスペース文字を入れて段付けすることを、インデント と言います

インデントは、かならず スペース4文字 で行います

 

関数型プログラミング言語Haskell」でも、Pythonのインデントと似た「レイアウトルール」「オフサイドルール」という記法が用意されている。

 

cf. とほほのHaskell入門 - とほほのWWW入門

https://www.tohoho-web.com/ex/haskell.html#layout

レイアウト

Python の様にインデントを用いることで、{ ... } ブロックの { と } を省略することができます

 

main = do

 putStrLn "Red"

 putStrLn "Green"

 putStrLn "Blue"

 

話を戻すと、Pythonではインデント(字下げ)が文法的意味を持っており、省略できないということ。

Pythonでは、1つのブロックコードの塊)をインデント位置で束ねている。

 

他のプログラミング言語では、ブロックの開始と終了を表す記号(「{」と「}」など)がよく使われたりするけど、Pythonはその代わりにインデントを使う。

外見は見やすくなるけど、逆に言えばインデントを間違えたら、コード意味が変わってくるので、長所短所を両方併せ持った記法とも考えられる。

 

元々、Python教育用途言語としたスタートした歴史があるので、可読性を重視しており、誰が書いてもある程度同じようなコードになることが求められている。

その要求に対する答えの1つが、インデント記法ということだったのだろう。

 

else 節

関数型プログラミングの考え方を参考にする場合、if文を使った関数はelse節を省略しないで、True場合でもFalse場合でも、必ず戻り値を返すように設計しておいた方が良いと思う。

ifも文ではなく式として見るならば、評価した結果を必ず返すようにしておく必要がある。

副作用の有無に関わらず)TrueでもFalseでも、必ず値を返すようにしておけば、戻り値なし(void)を避けられる。

これは後々、例外処理の書き方などで効いてくるので、Pythonでもif文でelse節を省略しないで書けないか?考える習慣を身につけておきたい。

 

比較以外の条件式

特になし。

 

elif 節

特になし。

 

まとめ

アメリカ最高裁判所大学入学決定に人種を利用する判決アファーマティブ・アクション拒否

この判決は非常に重要もので、朝日新聞とかが馬鹿みたいに批判しているけど、当然です。

実力もないのに人種だけで大学に入れてしまう。

これ、反差別界隈とかジェンダー平等も同じね。実力ではなくマイノリティとか女性というだけで就職できたり、学者になれたり、マスコミ記者になれる。

そうすると、本来はいるはずだった人がはじかれます

結果的には国家の損失です。

現に、暇空茜は報道しない。ジャニーズ犯罪者と決めつけて報道する極悪女存在します。

まともな女性杉田水脈程度です。

次に批判人種理論というトンデモ理論蔓延しています

アメリカ文系社会学者は全員カスと言っていい。

https://www.foxnews.com/politics/supreme-court-rejects-affirmative-action-ruling-universities-using-race-admissions-decisions

最高裁判所大学入学決定に人種を利用する判決アファーマティブ・アクション拒否

6-3のアファーマティブ・アクション意見で、最高裁判所大学入学の要素として人種を利用することは憲法修正第14条に違反するとの判決を下した。

アンダースハグトロム、 ブリアナハーリービル・ミアーズ、 シャノン・ブリーム、 ヘイリー・チーシン| 著 フォックス・ニュース

SCOTUS積極的差別是正措置判決判事の間で「激化」:シャノン・ブリーム

 主任法務記者シャノン・ブリームが、アファーマティブ・アクションに対する最高裁判所判決を解き明かします。

 米国最高裁判所木曜日アファーマティブ・アクションに関する重要判決を下し、大学入学の要素として人種を利用することは憲法修正第14条の平等保護条項違反するとして却下した。

 ジョン・ロバーツ首席判事は6対3の判決で、多数派意見の中で、「例えば、人種差別を克服した学生への利益は、その学生勇気と決意と結び付けられなければならない」と述べた。

 「あるいは、その伝統文化リーダーシップ役割を引き受けたり、特定目標を達成したりする動機となった学生への利益は、その学生大学に貢献する独自能力と結び付けられている必要があります。言い換えれば、学生は以下の基準に基づいて扱われなければなりません」人種に基づくものではなく、個人としての経験だ」と意見書には書かれている。

 「多くの大学は、あまりにも長い間、その逆のことを行ってきました。そしてそうすることで、個人アイデンティティ試金石は、乗り越えた課題、培ったスキル、学んだ教訓ではなく、肌の色であるという誤った結論を下してしまいました。歴史はその選択容認していない」と意見書は述べている。

 ロバーツ判事にはクラレンス・トーマス判事サミュエル・アリト判事ニール・ゴーサッチ判事、ブレット・カバノー判事エイミー・コニーバレット判事も加わった。

 ソニア・ソトマイヨール判事が主な反対意見を書き、エレナ・ケーガン判事と、ハーバード大学監督委員会での以前の役割理由ハーバード大学訴訟から身を引いたケタンジ・ブラウンジャクソン判事も一部参加した。

 バイデン大統領木曜日午後12時30分にこの決定についてコメントを発表する予定だ。

 判事らは、私立ハーバード大学公立ノースカロライナ大学教室の定員をどのように決定するかについて、2つの別々の法的異議を申し立てた。

 これらの有名な学校は、自分たち基準には、将来のリーダーのために堅牢知的多様性のあるキャンパスを推進するという、裁判所によって数十年にわたって支持されてきた、より大きな社会的目標があると主張している。

 しかし、アジア系アメリカ人学生連合は、この基準は「人種ペナルティー」で差別されており、多くの黒人ヒスパニック系の学生よりも選択的に高い基準を課していると主張している。

 学生活動団体「Students for Fair Admissions」は、ハーバード大学ノースカロライナ大学の両大学に対して訴訟を起こした。同団体は当初、2014年公民権法第6編に違反したとしてハーバード大学告訴したが、同法は「連邦資金やその他の連邦財政援助を受けるプログラム活動において、人種、肌の色、国籍に基づく差別禁止する」と定めている。

 ハーバード大学に対する訴状では、ハーバード大学慣行アジア系アメリカ人学生不利益を与え、人種中立的慣行採用できなかったと主張している。ノースカロライナ州の訴訟では、人種に基づいていない慣行学校学力を低下させたり、キャンパス多様性から得られる利益に悪影響を及ぼしたりすることを示さずに、大学非人種に基づく慣行使用拒否できるかどうかという問題が提起された。

 判事ハーバード大学、UNC最高裁判所アファーマティブ・アクションをめぐる議論を審理

 米国第一巡回控訴裁判所は、地方裁判所裁判員裁判の結果を支持し、ハーバード大学に有利な判決を下していた。地方裁判所は、ハーバード大学に対する証拠は決定的ではなく、「観察された差別」は少数のアジア系アメリカ人学生にのみ影響を与えたと述べた。SFFAはこの訴訟において資格を有さないとの判決を下した。

 UNCの訴訟では、連邦地方裁判所は同校の入学慣行は厳しい監視に耐えたとして、同校に有利な判決を下した。

 ロバーツ氏は多数派意見の中で、ハーバード大学とUNCの入学プログラムはいずれも「人種の利用を正当化する十分に焦点を絞った測定可能目標が欠けており、人種否定的な形で採用せざるを得ず、人種的な固定観念を伴い、有意義な最終目標を欠いている」と述べた。

 「我々は入学プログラムがそのような形で機能することをこれまで一度も許可したことがないし、今日もそうするつもりはない」と同氏は述べた。

 クラレンス・トーマス判事は多数意見同意しながらも、自身の考えについては別の同意書を書いた。

 同氏は、「今回の決定は、大学入学政策ありのままに見るものだ。入学するクラス特定人種を確実に混入させるよう設計された、舵のない人種に基づく優先政策である。これらの政策は、色盲憲法国家平等に反するものである」と述べた。端的に言えば、それらは明白に、そして大胆に憲法違反である。」

 「私は、私の人種差別に苦しむすべての人々に降りかかった社会的経済的惨状を痛感しているが、この国が独立宣言憲法で明確に宣言された原則を遵守するよう、私は絶え間ない希望を抱いている。米国:すべての人間平等に生まれ平等国民であり、法の下で平等に扱われなければならない」とトーマスは書いた。

 アファーマティブ・アクション訴訟は、ジョン・ロバーツ首席判事サミュエル・アリト判事ハーバード大学弁護士セスワックスマン氏を激しく非難するなど、この期間に最高裁判所建物内で行われた中で最も活発な法廷討論の一つを引き起こした。

 アリト氏はワックスマン氏に、アジア系アメリカ人学生が他の人種に比べて出願書類個人スコアがいつも低いのはなぜかと尋ねた。ワックスマン判事質問を迂回して話したため、アリトは弁護士に不満を抱いた。

 アリト氏は「アジア人に与えられる個人スコアの差についてはまだ説明を聞いていない」と語った。

 その後、ワックスマンロバーツと緊迫したやりとりを繰り広げた。判事は、ロバーツによれば人種は何らかの影響を与えるに違いないが、そうでなければ人種考慮に入れられないのに、なぜワックスマン入学決定の要素として人種を軽視したのかを尋ねた。

 ワックスマン氏は、「ハーバードラドクリフ管弦楽団オーボエ奏者必要としている年に…オーボエ奏者であること」と同じように、「一部の優秀な応募者にとって」人種は決定的なものだったと認めた。

 「私たちオーボエ奏者を巡って内戦を戦ったわけではない」とロバーツ氏は言い返した。「私たち人種差別をなくすために内戦を戦ったのです。」

 オコナー率いる法廷多数派は、少数派のロースクール志願者に対するミシガン大学アファーマティブ・アクション政策を支持しながら、次のように警告した:「我々は、今から25年後には、利益を促進するために人種的嗜好を利用する必要はなくなると予想している」本日承認されました。」

 19 年が経ち、6 対 3 の保守派多数派現在大学競争入学プロセスの一部として人種を利用することを阻止しています

 FOXニュースタイラー・オルソン氏がこのレポート寄稿した。

コメントから

Makes sense. So, does this also mean "AA" in employment, handouts, government loans, and other areas of life are also unconstitutional? (And yes, corporate America says there are no race-based quotas for hiring in large meetings but then set up individual manager &amp; HR meetings where hiring is analyzed for the manager's team and managers are told to focus on certain groups based on race.)

理にかなっています。 では、これは、雇用給付金政府融資、その他の生活分野における「AA」も憲法違反ということになるのでしょうか? (そう、アメリカ企業は、大規模な会議では採用人種に基づくノルマはないと言っているが、個別マネージャーと人事会議を設定し、そこでマネージャーのチームの採用分析され、マネージャー人種に基づいて特定グループに焦点を当てるように指示されている。)

これに対するトップリプライが次

That's not true. There are plenty of examples on Linkedin and other public forums of corporations hiring for a specific race

それは真実ではない。 Linkedin やその他の公開フォーラムには、特定人種向けに企業雇用する例がたくさんあります

これジョークね。

This is a fantastically accurate ruling. It is about time the court affirms what is basic common sense. Judging anyone (positively or negatively) based on race IS racist. The simple statement "we want to make sure we have diversity", goes in with the racist assumption that race defines the diversity of who you are. Every individual is diverse. Their life experience is unique. There are some shared experiences for individuals of certain similar upbringing, but the assumption that a certain "race" brings "diversity" IS racist.

これは驚くほど正確な判決だ。 そろそろ法廷基本的常識肯定する時期が来ている。 人種に基づいて誰かを(肯定的または否定的に)判断することは人種差別主義者です。 「私たち多様性を確保したいと考えています」という単純な発言は、人種によって人間多様性が決まるという人種差別的な思い込みと結びついています。 すべての個人は多様です。 彼らの人生経験ユニークです。 特定の似たような生い立ちを持った個人の間で共有される経験はいくつかありますが、特定の「人種」が「多様性」をもたらすという仮定人種差別的です。

何でもかんでも差別にするバカげたロジックうんざりしているわけです。

フランス革命7月14日だったですね

https://www-foxnews-com.translate.goog/world/french-riots-what-know-hundreds-police-injured-thousands-arrested-following-deadly-shooting?_x_tr_sl=auto&_x_tr_tl=ja&_x_tr_hl=ja&_x_tr_hist=true

フランス暴動:数百人の警官が負傷、数千人のデモ参加者が銃撃で逮捕される中、知っておくべきこと

抗議活動により警察官270人が負傷、2,000人以上の参加者逮捕された

 交通停止中に 17歳少年が死亡したことを受けて、暴動パリ郊外を襲い、すぐにフランス全土の他の町や都市に広がったが、なぜ状況はここまで制御不能になったのだろうか?

 ヘンリージャクソン協会の共同創設者事務局長アラン・メンドーサ氏は、「そこで起きていることは、国内イスラム系移民人口統合に失敗した結果だ」とフォックスニュースデジタルに語った。

 「伝説フランスは、原住民と同じ進歩成功の機会を持たないゲットー化されたコミュニティ日常生活現実からは遠く離れている」と彼は語った。「フランスの忘れ去られたコミュニティは、もはや忘れ去られたままではないことを示しています。」

 「バンリューで感じられたくすぶる怒りは、爆発するための火花必要としていましたが、暴動や略奪という形での無秩序を常に歓迎してきたフランス社会無秩序な緊張によって今利用されています。」

 5日間の暴動間中、全国で合計2,000人以上が逮捕された。フランスエマニュエル・マクロン大統領暴動を受けて予定していたドイツ訪問を延期した。フランス内務大臣土曜日逮捕者の平均年齢は17歳だったと発表した。

 統一SGP警察FO組合グレゴリー・ジョロン事務局長は、警察は「フランス国内のこれほど多くの都市で、このような都市暴力は18年間初めて見た」と語った。

 警察火曜日の朝、パリ郊外ナンテールで、ネーヘル・Mという名前けが判明したこ少年逮捕した。ネヘルさんは配送ドライバーとして働いていたが、警察官2人と話すために車を止め、警察官が彼の車に近づき、交通ルールを破ったと説明したと検察官は述べた。

 警察報告書ソーシャルメディア上で拡散されたビデオ矛盾もあり、事件の正確なきっかけは依然として不明であるフランス24紙によると、警察はネヘル容疑者警官の1人に向かって車を運転したと発表しており、ビデオには警官の1人が彼に武器を向けて「頭に銃弾を受けるぞ」と言っている様子が映っている。

 ネーヘルは黄色メルセデス運転した。車には2人が乗っていたが、当時彼は無免許だった。伝えられるところによると、彼は以前の交通停止に従わなかったために拘留されており、9月少年法廷に出廷する予定だった。

 その後、警官はネーヘルを撃ったとみられるが、車はわずかな距離走行して突然発進し、ネーヘルはその場で死亡した。警察は加害警察官拘留し、金曜日に容疑をかけて自発的過失致死の容疑で捜査を開始した。

 ロイター通信によると、警察官弁護士ローラン・フランク・リエナール氏はフランステレビとのインタビューで、依頼人運転手の脚を狙ったが、車が発進する際に衝突し、胸に向けて発砲したと述べた。報告書によると、同容疑者は「明らかに警察官は)運転手を殺したくなかった」と述べたという。

 家族弁護士によると、ネーヘルさんはアルジェリア系とモロッコ系で、犯罪歴はなかった。彼は地元ラグビークラブプレーし、貧困地域の人々が見習いを受けるのを支援することを目的としたプログラムに参加していた。ネーヘルは電気技師になるつもりでした。

 マクロン大統領はこの危機に対してさまざまな反応を示しており、当初は銃撃事件を「不可解」で「許せない」と表現していたが、その後抗議活動非難し、暴力が増大している原因はソーシャルメディアからビデオゲームに至るまであらゆるものにあると非難した。

 マクロン氏は、TikTokSnapchatなどのソーシャルメディアプラットフォームが、特にネヘルさんを射殺した警察官個人情報プラットフォーム上で出回った後、暴動をあおるのに役立った、と主張した。同氏は、政府ソーシャルメディアサイトと協力して「最も機密性の高いコンテンツ」を削除し、「無秩序を呼びかけたり、暴力を激化させたりする」ユーザー特定すると述べた。マクロン大統領はまた、国内法執行機関内に組織的人種差別があったことを否定した。

 ネーヘルさんの母親警察が「アラブ人の顔」に暴力的に対応したと非難し、一部の観察者らによると、大規模でサービスが行き届いていない北アフリカ移民(主にイスラム教徒)と警察との間に潜在的な緊張があることに注目を集めた。

 ネーヘルさんには犯罪歴はなかったが、2021年以来5回警察による検査を受けており、停止命令に従うことを拒否していた。停車のほとんどは、無免許運転や無保険、虚偽のナンバープレートの使用などでした。

 このビデオと、隠蔽工作のような印象を与えた警察矛盾した証言は、一部のフランス国民の怒りを引き起こし最初デモ参加者につながった。ニューヨーク・タイムズ紙の報道によると、デモ参加者らは、ネーヘルさんの死はフランス法執行機関根底にある人種差別の表れだと主張している。

 事件以来、デモ参加者らは警察と激しく衝突しており、デモ参加者警察官に石や花火を投げつけたり、車両ゴミに火をつけたり、建物を汚損したりするなどして逮捕者が増加している。

 最初抗議活動ナンテールで発生したが、3日目までにパリ本土、マルセイユリヨントゥールーズストラスブールリールなど他の町や都市に広がった。

 マルセイユの暴徒らは銃器店を強盗し、狩猟ライフルを奪ったが弾薬は受け取らなかった。

 土曜日マクロン大統領は、抗議活動暴力的衝突が拡大し続ける中、物議を醸しているエルトン・ジョンコンサートに出席したにもかかわらず、国内危機対処するためドイツへの旅行キャンセルした。

 彼は抗議活動への対処方法を決定するために国会の緊急会議招集し、最終的に抗議活動鎮圧に4万5000人の警官装甲車両を投入することを決定した。当初、法執行機関は約9,000人の警察官のみを配置していた。

 土曜夜の時点でロイター通信は、マルセイユニースなど国内各地で散発的な暴力が勃発しているものの、状況は落ち着いていると報じた。来年オリンピック開催地であるパリでは、ソーシャルメディア抗議活動参加者シャンゼリゼ通りに集まるよう呼びかけたとされ、警察シャンゼリゼ通りの警備に警察官を増員した。

 フランスジェラルドダルマナン内務大臣は、テレビニュースチャンネルで 政府非常事態宣言するかどうかとの質問に対し、「端的に言えば、いかなる仮説も排除するつもりはなく、選択します。今夜以降に共和国大統領判断が分かるだろう」と述べた。

一言でいうと

カラー革命くさいですね。これ。

EVと狂った公金チューチュー環境カルトに逆風、59%の人が2035年までに

BIDEN'S AMBITIOUS EV PLANS COULD MAKE US MORE DEPENDENT ON CHINESE SUPPLY CHAINS, EXPERTS WARN

アメリカ人の59%が2035年までにガソリン車を段階的に廃止することに反対、21%がそのような政策の見通しに興奮している

https://www-foxnews-com.translate.goog/politics/americans-strongly-oppose-bidens-ev-goals-poll?_x_tr_sl=auto&_x_tr_tl=ja&_x_tr_hl=ja&_x_tr_hist=true

最近のピュー・リサーチセンター世論調査によると、米国人の大多数が、2035年までに従来のガソリン車を段階的に全廃するというバイデン大統領民主党計画に反対している。

 調査によると、アメリカ人の59%が2035年までにガソリン車とトラックを段階的に廃止することに反対しており、もしアメリカがそのような政策を進めたとしても興奮すると思う人はわずか21%だという。過去2年間でアメリカ国民ガソリン車の段階的廃止への反対を強めており、2021年4月には51%が反対しており、現在反対している人の割合より8%少ない。

 ピュー研究所報告書は、「この期間にわたって、ガソリン車とトラックの段階的廃止に対する支持は民主党共和党双方の間で高まっている」と述べている。

 さら世論調査の結果、共和党2035年までにガソリン車を段階的に廃止することに84%対16%の差で反対しているのに対し、民主党は64%対35%の差で賛成していることが示された。

また、共和党員の73%がこの政策に憤慨しているのに対し、民主党員のわず20%が同じように感じていることも明らかになった。これに対し、共和党員の7%、民主党員の37%が段階的縮小に興奮していると回答した。

そして米国人は、消費者が急速に電気自動車に乗り換えるのを支援するのに必要インフラ米国が構築できるかどうかについては広く懐疑的だ。米国の成人のうち、それが可能であると非常にまたは非常に自信を持っているのはわず17%、30% がある程度自信を持っており、53% は自信がありません。

 この調査結果は、バイデン政権民主党主導のさまざまな州が電気自動車の導入を促進し、場合によっては将来のガソリン車の販売禁止する規制を進め続ける中で発表された。

 ホワイトハウス4月、「自動車トラックメーカーは、輸送未来電気であると明言している。市場は動いている」と述べた。「自動車愛好家であり、自称自動車マニアとして、バイデン大統領は今この瞬間を捉えている。」

この声明は、環境保護庁(EPA)がこれまでで最も積極的連邦政府のテールパイプ排出量を提案した後に発表された。

 ホワイトハウスは、これが最終決定され実施されれば、2032年までに新車購入のセダンクロスオーバーSUV、小型トラックのなんと67%が電動化される可能性があると予測した。さらに、それまでに購入されるバスゴミ収集車の最大 50%、短距離貨物トラクターの 35%、長距離貨物トラクターの 25% が電動化される可能性があります

 「バイデン政権は人々にEVの購入を強制するために、あらゆる連邦規則を曲げようとしている」と競争力企業研究所エネルギー環境センター所長のマイロン・エベル氏は当時述べた。「ドライバー自分で選んだ車を購入できる市場はまだ存在するが、政府強制によりその選択肢は急速に制限されつつある。」

150人以上の共和党員が団結してバイデン氏の「軽率な」電気自動車推進を非難

 2022年3月EPA大気浄化法に基づくカリフォルニア州権限回復し、独自排出基準電気自動車販売義務実施し、他の州がカリフォルニア州規則採用することを許可した。この動きは、トランプ政権連邦規則矛盾する独自基準を追求する州の権限剥奪したことを受けて行われた。

 そして8月、州の有力な環境当局であるカリフォルニア大気資源委員会は、年間自動車販売台数で全米トップの同州で購入するすべての自動車2035年までにゼロエミッションにすることを義務付ける規制承認した。

以下略

2023-06-27

anond:20230626183201

きみの論立てに含まれている詭弁を指摘しておくね

頭の悪い日記を書く前に真面目に勉強しようね

真のスコットランド人論法

https://ja.wikipedia.org/wiki/%E7%9C%9F%E3%81%AE%E3%82%B9%E3%82%B3%E3%83%83%E3%83%88%E3%83%A9%E3%83%B3%E3%83%89%E4%BA%BA%E8%AB%96%E6%B3%95

真のスコットランド人論法(しんのスコットランドじんろんぽう、英語: No true Scotsman)、または純粋さに訴える論証(英語: appeal to purity)は、 非形式的誤謬ひとつである普遍汎化に対する反例を提出されたときトートロジーを用いて反例を除外することで主張を防衛しようとする行為をさす[1] [2] [3]。普遍汎化を放棄したり反例を否定する証拠提供したりせず、客観的基準の代わりにレトリックを用いて汎化を修正定義上その特定の反例を含まないようにする[4]。このレトリックは「真の、純粋な、正真正銘の、真正の、本物の」など感情に訴えかけるだけで本質的意味のない純粋さの形容という形をとる[5]

 

哲学教授ブラッドリー・ダウデン(英語版)は、反駁された汎化の試みに対する「アドホックな救助」としてこの誤謬説明している[1]。以下はこの誤謬の簡略化された一例である[6]。

A: 「スコットランド人は粥に砂糖を入れないんだそうだ。」

B: 「私の叔父スコットランド人だけど、粥に砂糖を入れていたよ。」

A: 「でも、真のスコットランド人は粥に砂糖を入れないんだよ。(But no true Scotsman puts sugar on his porridge.)」

2023-06-18

anond:20230614170048

引用元url貼るとなぜか投稿できないので省略)

さないの翻訳

He's going to pay.

He's not getting let off the hook.

He's won't get away with it.

He's dead meat.

He's a dead man.

He's dead to me.

I won't stand for this!

I won't take it!

I'll never forgive him* <(使われ過ぎだが場合によっては適切)

I won't forgive him*

Unacceptable*

I can't believe him!*

How dare you XX*

Not on my watch*

It is unforgivable*

↑これらのほとんどは行動を伴う「許さない」に対して使う

行動しない、できない場合、例えばすでに刑が確定している犯罪者に対して言う場合にはnever forgiveのほうがいい

"won't allow/permit"的な側面がある「許さない」には、"I won't stand for this!"が良い

その他の翻訳

“I won’t forget this

“I’m not letting this go

"I won't let you walk away!"

"I will avenge her!"

"I won't forgive you for barging in on ruru's house."

「流々ん家上がり込んだのは許さんぞ」(破壊神マグちゃん

修正案:“You can’t just barge into Ruru’s house, you know.”

子供に言い聞かせるような響きだが、前者よりは硬くなく、意地悪な響きもない。

いい感じの雰囲気のシーンなので、前者は合わない。

"I WONT FORGIVE ANY JOKES"

冗談は許さない」(ワンダーエッグ

修正案:"This is not the time for jokes."

「姉を殺した犯人を見つけた」という場面での「許さない」

「〇〇がXXを性的暴行した」という話を聞いた場合の「許さない」(というよりは「許せない」?)

相手謝罪して許しを請うてるときに"I won't forgive you."と言うのは正しい

(ただしこの人は"I don't accept your apology."と訳したとのこと)

謝罪は受け取った。でも許さないし忘れもしない。では✌️」

Meaning: I accept your apology. But I won’t forgive or forget. Bye ✌️

英語ネイティブ声優天城サリーツイート

"If you don't come back... I'll never forgive you."

「戻ってこなかったら……許さない」

"We'll never forgive you for kidnapping Friend!"

「仲間を連れ去るなんて許さない!」

"Eat my cookie and I'll never forgive you!"

クッキーを食べたら許さない!」

"Treating a woman like that... I won't forgive him!"

女性をそんなふうに扱うなんて許さない!」

これらは(a) 本来意味でもないし、(b) ネイティブ英語でもないとのこと

↑一方、「戻ってこなかったら許さない」については、「死んだら許さない」という意味なら"forgive"を使うかもしれないという意見もある。というのは話者が"allow"できるわけではないから。

↑ということは、以下の場合は「死んだら許さない」という意味なので"forgive"のままで良い?

「私の夫にあなたの命まで背負わせたら、許さないから」(ナルト

“If you make Naruto be burdened with even your life, I will not forgive you.”

"it can't be helped"(仕方ない)は使われ過ぎだが、(a) 一応正しい英語だし、(b) 文脈にも沿っていることが多い(forgiveはそうではないことが多い)。

"I'll never forgive you!"

「なっ何をするだァーッ!ゆるさんッ!」(ジョジョディオジョナサンの愛犬ダニーに蹴りを入れた際のセリフ

吹替版の"How dare you!"のほうが遥かにいいとのこと

"I swear I won't stop until I've scrapped each and every one of you!"

「許さない!お前たちを壊し尽くすまで私は戦う!」(ゼノブレイド

Maxine Waters Says She Will “Never Ever Forgive” Black Americans That Vote for Trump.

マキシン・ウォーターズトランプ投票する黒人アメリカ人を「決して許さない」

"And if you choose to fail us, I say: We will never forgive you."

次世代失望させる選択をしたら、あなたたちを許さない」(グレタ・トゥーンベリ

‘We will not forgive, we will not forget. We will hunt you down and make you pay’

「我々は許さない。忘れない。お前達を追い詰め、捕え、贖わせる」(ISIS攻撃に対するバイデン大統領言葉

悟空バイデンのケースは状況がよく似ているが、悟空は"I won't forgive you!"としか言わなかったので不自然だが、バイデンは"We will hunt you down and make you pay"と報復意図を付け加えているので自然とのこと。

もしバイデンが"We won't forgive."としか言わなかったら、弱く聞こえるという。「もう昼飯に誘ってやらないぞ」みたいな。

さらに、バイデン自身戦場戦闘するのではなく演説台の後ろで何もしない。ただ何かが起こると言っているだけ。その点、眼の前に敵がいて戦わないといけない悟空とは違うらしい。

また、相手が許しを求めていないのにforgiveを使うのは変だという点に関しては、ISISだけでなくアメリカ国民にも語りかけているから良いとのこと。

ちなみに、飲酒運転子供が轢かれて、ドライバーが全く反省してない場合に"I won't forgive you!"というのは自然とのこと。

一方で、同じく全く反省しないジョーカーバットマンが同じセリフを言うのはおかしい。バットマンジョーカーの間には最初から許しなど存在しないから。

(でもバイデンISISの間にも許しはないのでは?と尋ねたが、答えをもらえなかった。恐らくネイティブにとってもはっきり言語化できない微妙問題なのだろう)

"Cry all you want, but don't expect me to forgive you."

「泣いても許されると思うなよ」(さよなら私のクラマー

この翻訳に対するツイート主の叫び

「一体何に対してFORGIVEするんだ!?FORGIVEが必要だなんて一体どんな罪を犯したんだ!?さないは"DON'T FORGIVE"じゃない!怒りで自然発火しそうbry;おh;bsfsl」

修正案:"Cry about it all you want, but I'm not letting you guys off the hook."

"Don't you dare go all Romeo and Juliet on me!"

ロミジュリったら許さないんだからね!」(水星魔女

Fate/stay night UBW 13話 「決別の刻」

凛  :そうね、けど後悔するわよ。私は絶対に降りない。いい、キャスタ

    ーを倒してアンタを取り戻す。その時になって謝っても許さないん

    だから・・・(That's true. But you'll regret it. I'll never quit. You

    hear me?I'll defeat Caster and take you back. And when I do,

    I won't forgive you, no matter how much you apologize.)

ペルソナ4 G 7話 「It's cliche, so what?」

マリ記憶探すのも思いで作るのも、絶対に君と一緒だから。君が持ってても

    同じでしょ?その代わり・・・ちゃんと返して?もったままいなくなった

    ら、許さない。(I'll never forgive you.)」

弱虫ペダル RIDE.38 「総北の魂」

坂道「でも、もうボク・・・走れない・・・ここでリタ・・・(I'm dropping—)」

鳴子小野田君!・・・スカシ!(Onoda-kun・・・Hotshot!)」

今泉ダメだ!それはオレが許さない!(No. I won't allow it.)」

この素晴らしい世界に祝福を 3話

ダ:こんな幼げな少女下着公衆面前ではぎ取るなんて・・・真の

   鬼畜だ、許せない!是非とも私を貴方パーティーに入れてほしい。

   (To strip such a young girl of her panties in a public place is truly

   savage!I can't let this pass!You must let me join your party!)

東京喰種トーキョーグール 2話 「孵化

カネ「(あの時もヒデクラスに馴染めない僕に気を遣って声を掛けてきて

    くれたんだ・・・いやだ。ヒデ死ぬのは嫌だぁ!そんなの許せない!)

    《I don't want Hide・・・to die!I won't・・・I won't let that happen!》」

2023-06-04

配列のすべての要素が条件を満たすならtrueを返す」関数定義するとき、空の配列を渡したらfalseを返すかtrueを返すかが、良いプログラマかどうかの一つの境目だ

2023-06-03

配列のすべての要素が条件を満たすならtrueを返す関数」に空の配列が渡された時の動作

定義

はい解散!!!

2023-06-02

今更なんだけど

https://twitter.com/fumieval/status/1663322995744718848

空の場合TRUEが返るのが一般的挙動なのはいいとして添付ファイルが無い場合もチェック関数通しちゃうのが普通なの?

空の場合そもそも無駄なチェックしないようにしたりってしちゃってるの良くなかったりする?

2023-06-01

anond:20230601145737

true/falseではなく1/0で、andではなく積で考えれば納得してくれる人多そうな気がする

anond:20230601145737

高学歴はどういうバックグランドで、空配列trueだと判断してるの?

数学とかでそういうのあるの?

ログイン ユーザー登録
ようこそ ゲスト さん