💬
【HTML】 HTML を繰り返す【for ...range()】
初めに
ある日、年齢を選択するためのプルダウンメニューをHTMLで作成しようと思い立ちました。最初は手動で書いていたのですが、10歳までとなると、1行ずつ記述するのは大変です。
手動で書く場合
たとえば、以下のように1歳から3歳までを手書きで書くとします:
print("<select name=\'agg\'>")
print("<option>1才</option>")
print("<option>2才</option>")
print("<option>3才</option>")
print("</select>")
しかし、これを10歳まで、あるいはさらに多くの年齢に対応させるとなると、毎回追加するのは効率がよくありません。そこで、Pythonのforループを使って自動化してみました。
↓
for文で自動生成してみる
最初の案は以下のようになります:
print("<select name=\'agg\'>")
for age in range(10):
print("<option>"+str(age+1)+"歳</option>")
print("</select>")
しかし、これでは「0歳」から「9歳」までが表示されてしまいます。
そこで、age + 1 として表示される値を調整することで、「1歳」から「10歳」までを正しく表示させることができます:
print("<select name='agg'>")
for age in range(10):
print("<option>" + str(age + 1) + "歳</option>")
print("</select>")
Discussion