💬

【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