コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

本日もまた鯖江市からブログを提供させていただきます

まずは、鯖江市に向かって一礼してから始めましょう

はい、どうもSOS団鯖江市を大いに盛り上げる為のす……団)の僕です。うん、またなんだ。また、鯖江市のオープンデータを使ってみたエントリなんだ。とりあえず鯖江市がどこにあって、なにものなのかについては前回記事をご覧ください。

前回記事
inujini.hatenablog.com



そんなわけで鯖江市の地域活性化のためにこちらのオープンデータを利用するなどをやっていこうと思います(本音は、オープンデータを使って遊びたいから)。
オープンデータ一覧 – めがねのまちさばえ 鯖江市

色々データはありますが今回は用途の分かりやすい「さばえ検定100問」をチョイスしていこうと思います。パース(解析)に使う言語はなんでもいいのですが、今回はPythonを使って何か作ろうと思います。

つくったよ

できました。
f:id:andron:20180426185042p:plain
簡単に黒い画面でクイズができるようにしました。一応ランダムで問題の抽出とAns部分に解答を入れると正誤判定してくれるぐらいの機能はついてます。

import xml.etree.ElementTree as ET
import urllib.request
import random

tree = ET.parse(urllib.request.urlopen('https://www.city.sabae.fukui.jp/xml/test/test.xml'))
root = tree.getroot()
#print(len(root)) # 確認用 100
rnd = random.randrange(len(root))

print(root[rnd][1].text)
print("1:"+root[rnd][2].text)
print("2:"+root[rnd][3].text)
print("3:"+root[rnd][4].text)
print("4:"+root[rnd][5].text)
# print(root[rnd][6].text) # 確認用 解答
inputAns = input('Your Ans:')
if (root[rnd][6].text == str(inputAns)):
    print("Correct")
else:
    print("Wrong")

ちなみにPythonのバージョンは3.6です。まあ、いつものように汚いコードですけど、新しい機能覚えたらリファクタリングと称してコード修正するからそれまではこれで勘弁してください。