質問
**[https://note.com/keisuke_funabiki/n/nec9df628f77c#Vyjlp]のサイトの「ABC081B - Shift only」**の以下のコードにおいて質問がございます。
python
1n = input() 2a = list(map(int, input().split())) 3ans = float('inf') 4for i in a: 5 ans = min(ans, len(bin(i)) - bin(i).rfind('1') - 1) 6print(ans)
入力例
3
8 12 40
出力
2
上のコードの最後の行で、print(ans)は for文のブロック内にはなく、また
**[https://lanchesters.site/python-min-max/#min]**において
「for 文の場合も if 文のときと同様、内側も外側もスコープが変わらない」
とあるのni、print(ans)の引数はfor文の最後の引数(入力例の場合 40)のときの値になぜならないのかご教授お願い致します。
環境
vscode
windows10
python3.9.5
回答3件
あなたの回答
tips
プレビュー