Pythonで作る仮想通貨ポートフォリオ アプリ
ステップ・バイ・ステップで暗号通貨のポートフォリオ アプリ作成の手順を示していきます。
0章 概要
0-1 アプリの機能
・仮想通貨の現在価格等を一覧表示
・購入した仮想通貨の価格等を一覧表示
・現在保有する仮想通貨と現在価格の関係から損益状況表示
・保有する仮想通貨情報の新規登録、編集、削除機能
・etc.
0-2 学習内容
・Pythonを使った実践的な開発
・仮想通貨APIの利用方法
・Tkinterを通じたデスクトップアプリの作成
・データベースの利用とアプリとの連携方法(作成・編集・削除・抽出)
0-3 全体を通じた注意点
・作成手順の説明に重点を置き、コードの詳細な説明は省略しています。
(寄せられた質問等に応じて、随時説明を追加し、更新していきます。)
・note上に貼り付けられたコードをコピペされる際は、インデントがズレてしまう時がありますので、その都度、修正をお願いいたします。
0-4 開発環境
・Windows10
・Python3系(既に開発環境がある前提で進めていきます。)
本教材の完成イメージは以下になります。
各項目の説明
コイン名 = 仮想通貨名
価格 = 1コインあたりの現在価格
保有コイン数 = 購入したコイン数
購入金額 = 購入時の価格 × 保有コイン数
現在価格 = 価格 × 保有コイン数
1章 APIの取得
まずは下記のサイトで無料アカウントを作成しましょう。
「GET YOUR API KEY NOW」をクリックし、無料アカウントを作成してください。
Planは下記のBasicプランを選択してください。
ログイン後画面から、API Keyの枠のところにカーソルをあてると、
「COPY KEY」と表示されますので、ボタンを押してAPI Keyをコピーします。
コピーしたAPIをメモ帳などにコピーしておきます。
2章 APIの利用
2-1 ファイルの作成
デスクトップに「coin_portfolio」という名前で新規フォルダを作成。
任意のエディタからフォルダを開いて、新規ファイルを作成しましょう。(今回はvisual studio codeを使用。何でも構いません。)
新規ファイルを作成し、coin.pyと名付けて保存しましょう。
以上です。
2-2 APIの実践
coin.pyに下記のように記述する。
my_API = "取得したAPIをここに代入" のところに上記で取得したAPIを入れることを忘れずに。
import requests
import json
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
print(api)
それでは、ここでvisual studio上のターミナルまたはpowershellからコードを実行しましょう。
注意点:コード実行時のターミナルが下記のように作業フォルダ(coin_portfolio)にあることを確認してください。
もし、別のフォルダにある場合は、cd ~ を使って移動してから実行してください。(そうしないとエラーになります。)
runボタンを押して、下記のように表示されることを確認する。
実行結果
{'status': {'timestamp': '2020-03-17T05:00:13.431Z', 'error_code': 0, 'error_message': None, 'elapsed': 10, 'credit_count': 1, 'notice': None}, 'data': [{'id': 1, 'name': 'Bitcoin', 'symbol': 'BTC', 'slug': 'bitcoin', 'num_market_pairs': 7797, 'date_added': '2013-04-28T00:00:00.000Z', 'tags': ['mineable'], 'max_supply': 21000000, 'circulating_supply': 18274037, 'total_supply': 18274037, 'platform': None, 'cmc_rank': 1, 'last_updated': '2020-03-17T04:59:36.000Z', 'quote': {'JPY': {'price': 544126.9634085277, 'volume_24h': 5022600004133.161, 'percent_change_1h': 0.25609528, 'percent_change_24h': -2.82151983, 'percent_change_7d': -33.92895456, 'market_cap': 9943396262025.082, 'last_updated': '2020-03-17T04:59:03.000Z'}}}, {'id': 1027, 'name':
'Ethereum', 'symbol': 'ETH', 'slug': 'ethereum', 'num_market_pairs': 5183, 'date_added': '2015-08-07T00:00:00.000Z', 'tags':
['mineable'], 'max_supply': None, 'circulating_supply': 110127918.999, 'total_supply': 110127918.999, 'platform': None, 'cmc_rank': 2, 'last_updated': '2020-03-17T04:59:22.000Z', 'quote': {'JPY': {'price': 12065.103296899177, 'volume_24h': 1776191692742.0173, 'percent_change_1h': 0.1547215, 'percent_change_24h': -6.74286208, 'percent_change_7d': -42.38142941, 'market_cap': 1328704718595.4805, 'last_updated': '2020-03-17T04:59:03.000Z'}}}, {'id': 52, 'name': 'XRP', 'symbol': 'XRP', 'slug': 'xrp', 'num_market_pairs': 507, 'date_added': '2013-08-04T00:00:00.000Z', 'tags': [], 'max_supply': 100000000000, 'circulating_supply': 43842625397, 'total_supply': 99991064426, 'platform': None, 'cmc_rank': 3, 'last_updated': '2020-03-17T04:59:06.000Z', 'quote': {'JPY': {'price': 15.196293430141932, 'volume_24h': 295354802995.2594, 'percent_change_1h': 0.50066587, 'percent_change_24h': -5.35301243, 'percent_change_7d': -29.85360105, 'market_cap': 666245400280.605, 'last_updated': '2020-03-17T04:59:03.000Z'}}}, {'id': 825, 'name': 'Tether', 'symbol': 'USDT', 'slug': 'tether', 'num_market_pairs': 4245, 'date_added': '2015-02-25T00:00:00.000Z', 'tags': [], 'max_supply': None, 'circulating_supply': 4642367414, 'total_supply': 4776930644, 'platform': {'id': 83, 'name': 'Omni', 'symbol': 'OMNI', 'slug': 'omni', 'token_address': '31'}, 'cmc_rank': 4, 'last_updated': '2020-03-17T04:59:24.000Z', 'quote': {'JPY': {'price': 103.19497788855166, 'volume_24h': 6376556970711.307, 'percent_change_1h': 0.78138255, 'percent_change_24h': -3.59523203, 'percent_change_7d': -0.80139316, 'market_cap': 479069002638.2628, 'last_updated': '2020-03-17T04:59:03.000Z'}}}, {'id': 1831, 'name': 'Bitcoin Cash', 'symbol': 'BCH', 'slug': 'bitcoin-cash', 'num_market_pairs': 457, 'date_added': '2017-07-23T00:00:00.000Z', 'tags': ['mineable'], 'max_supply': 21000000, 'circulating_supply': 18334912.5, 'total_supply': 18334912.5, 'platform': None, 'cmc_rank': 5, 'last_updated': '2020-03-17T04:59:07.000Z', 'quote': {'JPY': {'price': 18440.909782953502, 'volume_24h': 461885206123.8931, 'percent_change_1h': 0.37151637, 'percent_change_24h': -2.2399873, 'percent_change_7d': -34.2735096, 'market_cap': 338112467290.84644, 'last_updated': '2020-03-17T04:59:03.000Z'}}}]}
任意のデータを抽出してみましょう。
今回は0番目のビットコインの名前と値段を抽出します。
import requests
import json
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# 追加/修正 ここから--------------------------------start
print(api["data"][0]["symbol"])
print(api["data"][0]["quote"]["JPY"]["price"])
# 追加/修正 ここから--------------------------------end
下記のように表示されたら成功です。
BTC
545346.918010175
次に、他のコインについても適用できるように、for文を使いましょう。
下記のように修正します。
import requests
import json
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# 追加/修正 ここから--------------------------------start
for i in range(0,5):
print(api["data"][i]["symbol"])
print(api["data"][i]["quote"]["JPY"]["price"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("---------------")
# 追加/修正 ここまで--------------------------------end
"{:,.2f}".format(~) について
これで100円区切り、小数点以下2位まで表示するようにしています。
下記のように表示されれば、成功です。
BTC
549,087.41
---------------
ETH
12,088.62
---------------
XRP
15.32
---------------
USDT
107.18
---------------
BCH
18,834.66
---------------
次に任意に選択した複数のコインにマッチするようにする。
ここでは、BTCとETHを選択したと仮定し、リストを作成。For文の中で、この2つのシンボルに該当する場合にのみ、表示するようにコードを修正。
import requests
import json
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# 追加/修正 ここから--------------------------------start
coins = ["BTC", "ETH"]
# 追加/修正 ここまで--------------------------------end
for i in range(0,5):
# 追加/修正 ここから--------------------------------start
for coin in coins:
if api["data"][i]["symbol"] == coin:
# 追加/修正 ここまで--------------------------------end
print(api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("---------------")
下記のように表示されれば、成功。
BTC
590,252.13
---------------
ETH
12,984.99
---------------
更にコイン名も表示したいので、下記のように修正
import requests
import json
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
coins = ["BTC", "ETH"]
for i in range(0,5):
for coin in coins:
if api["data"][i]["symbol"] == coin:
# 追加/修正 ここから--------------------------------start
print(api["data"][i]["name"] + " : " +api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
# 追加/修正 ここまで--------------------------------end
print("---------------")
下記のように表示されれば成功。
Bitcoin : BTC
589,673.72
---------------
Ethereum : ETH
12,935.73
---------------
2-3 損益表示
まずは購入した時の金額(固定値)を辞書型で表現します。
辞書内に、シンボル、保有コイン数、1コイン当たりの金額を盛り込む。
購入時の内容と現在価格を基に損益を表現する。
下記のように修正
import requests
import json
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# 追加/修正 ここから--------------------------------start
coins = [
{
"symbol":"BTC",
"amount_owned": 2,
"price_per_coin":800000
},
{
"symbol":"ETH",
"amount_owned": 10,
"price_per_coin":10000
},
]
# 追加/修正 ここまで--------------------------------end
for i in range(0,5):
for coin in coins:
# 追加/修正 ここから--------------------------------start
if api["data"][i]["symbol"] == coin["symbol"]:
total_paid = coin["amount_owned"] * coin["price_per_coin"]
current_value = coin["amount_owned"] * api["data"][i]["quote"]["JPY"]["price"]
pl_percoin = api["data"][i]["quote"]["JPY"]["price"] - coin["price_per_coin"]
total_pl_coin = pl_percoin * coin["amount_owned"]
print(api["data"][i]["name"] + " : " +api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("保有コイン数", coin["amount_owned"])
print("購入金額", "{:,.2f}".format(total_paid))
print("現在金額", "{:,.2f}".format(current_value))
print("1コイン当たり損益","{:,.2f}".format(pl_percoin))
print("損益","{:,.2f}".format(total_pl_coin))
print("---------------")
# 追加/修正 ここまで--------------------------------end
最後に、すべてのコインの合計損益を表示できるようにする。
コードを下記のように修正。
import requests
import json
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# coins = ["BTC", "ETH"]
coins = [
{
"symbol":"BTC",
"amount_owned": 2,
"price_per_coin":800000
},
{
"symbol":"ETH",
"amount_owned": 10,
"price_per_coin":10000
},
]
# 追加/修正 ここから--------------------------------start
total_pl = 0
# 追加/修正 ここまで--------------------------------end
for i in range(0,5):
for coin in coins:
if api["data"][i]["symbol"] == coin["symbol"]:
total_paid = coin["amount_owned"] * coin["price_per_coin"]
current_value = coin["amount_owned"] * api["data"][i]["quote"]["JPY"]["price"]
pl_percoin = api["data"][i]["quote"]["JPY"]["price"] - coin["price_per_coin"]
total_pl_coin = pl_percoin * coin["amount_owned"]
# 追加/修正 ここから--------------------------------start
total_pl = total_pl + total_pl_coin
# 追加/修正 ここまで--------------------------------end
print(api["data"][i]["name"] + " : " +api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("保有コイン数", coin["amount_owned"])
print("購入金額", "{:,.2f}".format(total_paid))
print("現在金額", "{:,.2f}".format(current_value))
print("1コイン当たり損益","{:,.2f}".format(pl_percoin))
print("損益","{:,.2f}".format(total_pl_coin))
print("---------------")
# 追加/修正 ここから--------------------------------start
print("---------------")
print("合計損益", "{:,.2f}".format(total_pl))
# 追加/修正 ここまで--------------------------------end
実行し、下記のような結果が出れば成功です。
Bitcoin : BTC
698,513.03
保有コイン数 2
購入金額 1,600,000.00
現在金額 1,397,026.07
1コイン当たり損益 -101,486.97
損益 -202,973.93
---------------
Ethereum : ETH
15,570.98
保有コイン数 10
購入金額 100,000.00
現在金額 155,709.81
1コイン当たり損益 5,570.98
損益 55,709.81
---------------
---------------
合計損益 -147,264.12
3-1 GUIの作成
GUIとしてTkinterを使用します。
まずは表示するために、下記のようにコードを追加しましょう。
また、API以降のコードは関数化し、呼び出さない限り、実行されないようにしておきましょう。
(コインマーケットのAPI無料枠には回数の制限があるため)
# 追加/修正 ここから--------------------------------start
from tkinter import *
# 追加/修正 ここまで--------------------------------end
import requests
import json
# 追加/修正 ここから--------------------------------start
pycrypto = Tk()
pycrypto.title("暗号通貨ポートフォリオ")
pycrypto.mainloop()
# 追加/修正 ここまで--------------------------------end
# 追加/修正 ここから--------------------------------start
# 関数を定義し、全体を選択し、タブキーでインデントをずらす。
def my_portfolio:
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# coins = ["BTC", "ETH"]
coins = [
{
"symbol":"BTC",
"amount_owned": 2,
"price_per_coin":800000
},
{
"symbol":"ETH",
"amount_owned": 10,
"price_per_coin":10000
},
]
total_pl = 0
for i in range(0,5):
for coin in coins:
if api["data"][i]["symbol"] == coin["symbol"]:
total_paid = coin["amount_owned"] * coin["price_per_coin"]
current_value = coin["amount_owned"] * api["data"][i]["quote"]["JPY"]["price"]
pl_percoin = api["data"][i]["quote"]["JPY"]["price"] - coin["price_per_coin"]
total_pl_coin = pl_percoin * coin["amount_owned"]
total_pl = total_pl + total_pl_coin
print(api["data"][i]["name"] + " : " +api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("保有コイン数", coin["amount_owned"])
print("購入金額", "{:,.2f}".format(total_paid))
print("現在金額", "{:,.2f}".format(current_value))
print("1コイン当たり損益","{:,.2f}".format(pl_percoin))
print("損益","{:,.2f}".format(total_pl_coin))
print("---------------")
print("---------------")
print("合計損益", "{:,.2f}".format(total_pl))
# 追加/修正 ここまで--------------------------------end
実行し、下記のように表示されれば、成功です。
次に、Tkinter上に文字を表示しましょう。
下記のようにコードを追加します。
from tkinter import *
import requests
import json
pycrypto = Tk()
pycrypto.title("暗号通貨ポートフォリオ")
# 削除 ここから--------------------------------start
#pycrypto.mainloop()
# 削除 ここまで--------------------------------end
def my_portfolio:
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# coins = ["BTC", "ETH"]
coins = [
{
"symbol":"BTC",
"amount_owned": 2,
"price_per_coin":800000
},
{
"symbol":"ETH",
"amount_owned": 10,
"price_per_coin":10000
},
]
total_pl = 0
for i in range(0,5):
for coin in coins:
if api["data"][i]["symbol"] == coin["symbol"]:
total_paid = coin["amount_owned"] * coin["price_per_coin"]
current_value = coin["amount_owned"] * api["data"][i]["quote"]["JPY"]["price"]
pl_percoin = api["data"][i]["quote"]["JPY"]["price"] - coin["price_per_coin"]
total_pl_coin = pl_percoin * coin["amount_owned"]
total_pl = total_pl + total_pl_coin
print(api["data"][i]["name"] + " : " +api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("保有コイン数", coin["amount_owned"])
print("購入金額", "{:,.2f}".format(total_paid))
print("現在金額", "{:,.2f}".format(current_value))
print("1コイン当たり損益","{:,.2f}".format(pl_percoin))
print("損益","{:,.2f}".format(total_pl_coin))
print("---------------")
print("---------------")
print("合計損益", "{:,.2f}".format(total_pl))
# 追加/修正 ここから--------------------------------start
name = Label(pycrypto, text="Bitcoin", bg="black", fg="white")
name.grid(row=0, column=0, sticky=N+S+E+W)
pycrypto.mainloop()
# 追加/修正 ここまで--------------------------------end
下記のように表示されれば、成功です。
それでは、タイトル部分を作成していきましょう。
コードを下記のように修正しましょう。
from tkinter import *
import requests
import json
pycrypto = Tk()
pycrypto.title("暗号通貨ポートフォリオ")
def my_portfolio:
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# coins = ["BTC", "ETH"]
coins = [
{
"symbol":"BTC",
"amount_owned": 2,
"price_per_coin":800000
},
{
"symbol":"ETH",
"amount_owned": 10,
"price_per_coin":10000
},
]
total_pl = 0
for i in range(0,5):
for coin in coins:
if api["data"][i]["symbol"] == coin["symbol"]:
total_paid = coin["amount_owned"] * coin["price_per_coin"]
current_value = coin["amount_owned"] * api["data"][i]["quote"]["JPY"]["price"]
pl_percoin = api["data"][i]["quote"]["JPY"]["price"] - coin["price_per_coin"]
total_pl_coin = pl_percoin * coin["amount_owned"]
total_pl = total_pl + total_pl_coin
print(api["data"][i]["name"] + " : " +api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("保有コイン数", coin["amount_owned"])
print("購入金額", "{:,.2f}".format(total_paid))
print("現在金額", "{:,.2f}".format(current_value))
print("1コイン当たり損益","{:,.2f}".format(pl_percoin))
print("損益","{:,.2f}".format(total_pl_coin))
print("---------------")
print("---------------")
print("合計損益", "{:,.2f}".format(total_pl))
# 追加/修正 ここから--------------------------------start
name = Label(pycrypto, text="コイン名", bg="black", fg="white")
name.grid(row=0, column=0, sticky=N+S+E+W)
name = Label(pycrypto, text="価格", bg="black", fg="white")
name.grid(row=0, column=1, sticky=N+S+E+W)
name = Label(pycrypto, text="保有コイン数", bg="black", fg="white")
name.grid(row=0, column=2, sticky=N+S+E+W)
name = Label(pycrypto, text="購入金額", bg="black", fg="white")
name.grid(row=0, column=3, sticky=N+S+E+W)
name = Label(pycrypto, text="現在価格", bg="black", fg="white")
name.grid(row=0, column=4, sticky=N+S+E+W)
name = Label(pycrypto, text="1コイン当たり損益", bg="black", fg="white")
name.grid(row=0, column=5, sticky=N+S+E+W)
name = Label(pycrypto, text="合計損益", bg="black", fg="white")
name.grid(row=0, column=6, sticky=N+S+E+W)
# 追加/修正 ここまで--------------------------------end
pycrypto.mainloop()
実行し、下記のように表示されれば、成功です。
このままだと見ずらいので、文字色を黒に変えて、背景色を1列ずつグレートと白に変更します。下記のようにコードを修正します。
from tkinter import *
import requests
import json
pycrypto = Tk()
pycrypto.title("暗号通貨ポートフォリオ")
def my_portfolio:
# 取得したAPI
my_API = "取得したAPIをここに代入"
api_request = requests.get("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=5&convert=JPY&CMC_PRO_API_KEY="+my_API)
api = json.loads(api_request.content)
# coins = ["BTC", "ETH"]
coins = [
{
"symbol":"BTC",
"amount_owned": 2,
"price_per_coin":800000
},
{
"symbol":"ETH",
"amount_owned": 10,
"price_per_coin":10000
},
]
total_pl = 0
for i in range(0,5):
for coin in coins:
if api["data"][i]["symbol"] == coin["symbol"]:
total_paid = coin["amount_owned"] * coin["price_per_coin"]
current_value = coin["amount_owned"] * api["data"][i]["quote"]["JPY"]["price"]
pl_percoin = api["data"][i]["quote"]["JPY"]["price"] - coin["price_per_coin"]
total_pl_coin = pl_percoin * coin["amount_owned"]
total_pl = total_pl + total_pl_coin
print(api["data"][i]["name"] + " : " +api["data"][i]["symbol"])
print("{:,.2f}".format(api["data"][i]["quote"]["JPY"]["price"]))
print("保有コイン数", coin["amount_owned"])
print("購入金額", "{:,.2f}".format(total_paid))
print("現在金額", "{:,.2f}".format(current_value))
print("1コイン当たり損益","{:,.2f}".format(pl_percoin))
print("損益","{:,.2f}".format(total_pl_coin))
print("---------------")
print("---------------")
print("合計損益", "{:,.2f}".format(total_pl))
# 追加/修正 ここから--------------------------------start
name = Label(pycrypto, text="コイン名", bg="grey", fg="black")
name.grid(row=0, column=0, sticky=N+S+E+W)
name = Label(pycrypto, text="価格", bg="white", fg="black")
name.grid(row=0, column=1, sticky=N+S+E+W)
name = Label(pycrypto, text="保有コイン数", bg="grey", fg="black")
name.grid(row=0, column=2, sticky=N+S+E+W)
name = Label(pycrypto, text="購入金額", bg="white", fg="black")
name.grid(row=0, column=3, sticky=N+S+E+W)
name = Label(pycrypto, text="現在価格", bg="grey", fg="black")
name.grid(row=0, column=4, sticky=N+S+E+W)
name = Label(pycrypto, text="1コイン当たり損益", bg="white", fg="black")
name.grid(row=0, column=5, sticky=N+S+E+W)
name = Label(pycrypto, text="合計損益", bg="grey", fg="black")
name.grid(row=0, column=6, sticky=N+S+E+W)
# 追加/修正 ここまで--------------------------------end
pycrypto.mainloop()
コードを実行し、下記のようにタイトル部分が表示されれば成功です。
ここから先は
¥ 2,000
この記事が気に入ったらサポートをしてみませんか?