質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1065閲覧

if節のコードの意味を教えてください

Mmaple

総合スコア7

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/09/02 02:50

前提・実現したいこと

Qiitaに載っていたサンプルコードなのですが次の個所のコードの意味が分かりません。

QiitaのURL
https://qiita.com/u2dayo/items/90a0693f31524e7b4cd0#c%E5%95%8F%E9%A1%8Ch-and-v

該当箇所

if c[row][col] == "#" and (row_bit[row] and col_bit[col]):

後半の
(row_bit[row] and col_bit[col])
がどういう意味なのか分かりません。
比較演算子がなしにどうやって条件づけしているのでしょうか。

該当のソースコード

python

1from itertools import product 2 3h, w, k = map(int, input().split()) 4c = [list(input()) for _ in range(h)] 5 6ans = 0 7 8for row_bit in product(range(2), repeat=h): 9 for col_bit in product(range(2), repeat=w): 10 cnt = 0 11 for row in range(h): 12 for col in range(w): 13 if c[row][col] == "#" and (row_bit[row] and col_bit[col]): 14 cnt += 1 15 if cnt == k: 16 ans += 1 17 18print(ans)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

https://note.nkmk.me/python-bool-true-false-usage/

比較演算子がなしにどうやって条件づけしているのでしょうか

bool型以外のオブジェクトもif文ではTrue/Falseとして判定されます。

None, 空のリスト、ゼロはFalse
1はTrueなどです。

詳しくはリンク先を読んでみてください。

投稿2020/09/02 02:56

nouken

総合スコア369

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mmaple

2020/09/02 03:04

ご回答ありがとうございました。リンク先とても参考になりました。
guest

0

ベストアンサー

上記の論理演算子(and, or, not)で複数条件や否定を指定の項にあるようにandを使っています。
(row_bit[row] and col_bit[col])row_bit[row]col_bit[col]の値が両方TrueならTrueという意味です。

投稿2020/09/02 02:53

nekoniki

総合スコア2409

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mmaple

2020/09/02 02:58

回答ありがとうございます。 ==Trueと書かなくても条件として成り立つのですね。追加で質問なのですが()は何のためにあるのでしょうか?
Mmaple

2020/09/02 03:03

わかりやすくご説明いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問