1月28日(中間発表,アプリ開発の手順, 日本地図,食品成分)

ページ名:1月28日

アプリ開発の手順

設計⇒実装⇒テスト⇒公開

①設計

画面(インタフェース)の設計

機能の洗い出し

データの設計

使う技術の調査

②実装

画面の実装

データの実装

処理の実装

③テスト

テストの設計

テストの実施

実装修正

④公開

 

 

複雑なデータ①

meibo = {
    '加藤貴之':{
        '生年月日':'1983/10/1',
        '性別': '男',
        '住所':'兵庫県朝来市...',
        '電話番号':'090-4494-6175'
    },
    '山田一郎':{
        '生年月日':'1980/1/1',
        '性別': '男',
        '住所':'兵庫県神戸市...',
        '電話番号':'090-1234-5678'
    },
    '鈴木花子':{
        '生年月日':'1990/12/31',
        '性別': '女',
        '住所':'東京都世田谷区...',
        '電話番号':'080-8765-4321'
    }
}
print(meibo['加藤貴之'])
print(meibo['鈴木花子']['住所'])

複雑なデータ②

recipe = {
    '酢鶏':['鶏肉', '卵', '大根'],
    '筑前煮':['人参', '鶏肉', '蓮根', '大根', '絹さや'],
    'チキンステーキ':['鶏肉','大根','大葉']
}
print(recipe['筑前煮'])
print(recipe['チキンステーキ'][0])

複雑なデータ③

quiz = [
    ['問題1', ['選択肢1a', '選択肢1b', '選択肢1c', '選択肢1d'], '答1'],
    ['問題2', ['選択肢2a', '選択肢2b', '選択肢2c', '選択肢2d'], '答2'],
    ['問題3', ['選択肢3a', '選択肢3b', '選択肢3c', '選択肢3d'], '答3'],    
]
print(quiz[1][2])
print(quiz[0][1])
print(quiz[2][1][3])

 

日本地図の表示

参考

https://qiita.com/SaitoTsutomu/items/6d17889ba47357e44131

japannmapのインストール

①Anacondaの中のAnaconda Promptを実行します

②以下のコマンドでインストールします

pip install -U japanmap jupyter matplotlib pandas xlrd

データを基に色で塗り分ける

%config InlineBackend.figure_formats = {'png', 'retina'}
%matplotlib inline
import matplotlib.pyplot as plt
from japanmap import picture
plt.rcParams['figure.figsize'] = 6, 6

seihasu_list = [0, 0, 1, 1, 0, 1, 2, 1, 2]
iro_list = ['white', 'pink', 'red']
iro_data = {i: iro_list[seihasu_list[i]] for i in range(1, 9)}
plt.imshow(picture(iro_data))

 

csvデータの読み込み

import csv

DATAFILE = 'C:/Users/Hikyaku/Documents/temp/meijo.csv' #それぞれ変更してください

shirosu = [3, 2, 1, 2, 1, 1, 3] #県ごとの城数
seihasu_list = [0, 0, 0, 0, 0, 0, 0] #県ごとの制覇数

datacsv = open(DATAFILE, encoding='shift-jis')
ken = 0 #どの県を調査しているか
nokori = shirosu[ken]
for row in csv.reader(datacsv):
    if nokori == 0:
        ken += 1
        nokori = shirosu[ken]
    if row[2] == '1':
        seihasu_list[ken] += 1
    nokori -= 1

seihasu_list

 

CSVデータの読み込み⇒地図への描画

%config InlineBackend.figure_formats = {'png', 'retina'}
%matplotlib inline
import matplotlib.pyplot as plt
from japanmap import picture
import csv

plt.rcParams['figure.figsize'] = 6, 6

DATAFILE = 'C:/Users/Hikyaku/Documents/temp/meijo.csv' #それぞれ変更してください

shirosu = [3, 2, 1, 2, 1, 1, 3] #県ごとの城数
seihasu_list = [0, 0, 0, 0, 0, 0, 0] #県ごとの制覇数

datacsv = open(DATAFILE, encoding='shift-jis')
ken = 0 #どの県を調査しているか
nokori = shirosu[ken]
for row in csv.reader(datacsv):
    if nokori == 0:
        ken += 1
        nokori = shirosu[ken]
    if row[2] == '1':
        seihasu_list[ken] += 1
    nokori -= 1
    
iro_list = ['white', 'pink', 'red']
iro_data = {i+1: iro_list[seihasu_list[i]] for i in range(0, 7)}
plt.imshow(picture(iro_data))

 

クリックした場所の取得

参考:https://qiita.com/ty21ky/items/1ea94c449cdd0ec1b748

※ 2行目は %matplotlib inline ではなく、%matplotlib と記述する

%config InlineBackend.figure_formats = {'png', 'retina'}
%matplotlib
import matplotlib.pyplot as plt
from japanmap import picture
plt.rcParams['figure.figsize'] = 6, 6

plt.imshow(picture());

try:
  while True:
    a=plt.ginput(n=1)[0]  #クリックして座標を取得
    plt.title(str(a[0]) + ', ' + str(a[1]))
except:
  pass

食品成分データベース

https://fooddb.mext.go.jp/index.pl

検索結果についてCSVでダウンロードができる

 

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧