• Skip to main content
  • Skip to primary sidebar

学習記録

Blockchainプログラミング基礎:値を追加していく

2018年9月3日 by 河副 太智 Leave a Comment

ブロックチェーンに値を追加していく

ブロックチェーンは過去のデータを参照しつつ
新たなデータを追加していきます。

 

まずは一番最初のリストに数値1を入れます。

1
blockchain=[[1]]

これでblockchainというリストに数値1が格納されます。

 

次にブロックチェーンっぽく値を追加していきます。

1
2
3
4
5
6
7
blockchain=[[1]]
 
def add_value(value):
    blockchain.append([blockchain[-1],value])
    print(blockchain)
 
add_value(2)

>>[[1], [[1], 2]]

もとの1はそのままで、カンマ以降は最初のブロックチェーンにあった1と
新たに追加された2が格納されました。

 

もう一つ値を追加します。

1
2
3
4
5
6
7
8
blockchain=[[1]]
 
def add_value(value):
    blockchain.append([blockchain[-1],value])
    print(blockchain)
 
add_value(2)
add_value(0.9)

>>[[1], [[1], 2], [[[1], 2], 0.9]]

今度は3番目に0.9が追加されています。

わかりづらいので色分けカンマ別に縦表示にします。

[[1],
[[1], 2],
[[[1], 2], 0.9]]

 

同じ要領でもう一つ値を追加します。

1
2
3
4
5
6
7
8
9
blockchain=[[1]]
 
def add_value(value):
    blockchain.append([blockchain[-1],value])
    print(blockchain)
 
add_value(2)
add_value(0.9)
add_value(10.89)

>>>[[1], [[1], 2], [[[1], 2], 0.9], [[[[1], 2], 0.9], 10.89]]

ゴチャゴチャしてきましたね

カンマ別に縦表示にすると以下のようになります。

[[1],
[[1], 2],
[[[1], 2], 0.9],
[[[[1], 2], 0.9], 10.89]]

 

 

自作関数を2つに分けて
add_value()から別の自作関数
get_last_blockchain_value()を呼び出して
参照する過去の値と新規追加の値を別にする

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
blockchain=[[1]]
 
def get_last_blockchain_value():
    return blockchain[-1]
 
def add_value(transaction_amount):
    blockchain.append([get_last_blockchain_value(),transaction_amount])
 
 
add_value(2)
add_value(0.9)
add_value(10.89)
 
print(blockchain)

 

 

コードの最初にblockchain=[1]と定義してありますが
リストの最初の値が確定できない場合はblockhain=[]から始めたい
場合もあると思います。

その場合は以下のようにデフォルトを与える事でうまくいきます。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
blockchain=[]
 
def get_last_blockchain_value():
    return blockchain[-1]
 
def add_value(transaction_amount,last_transaction=[1]):
    blockchain.append([last_transaction,transaction_amount])
 
 
add_value(2)
add_value(0.9,get_last_blockchain_value())
add_value(10.89,get_last_blockchain_value())
 
print(blockchain)

 

このエントリーをはてなブックマークに追加

Tweet
[`yahoo` not found]
このエントリーを Google ブックマーク に追加
LinkedIn にシェア
LINEで送る


Filed Under: ブロックチェーン

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

Primary Sidebar

カテゴリー

  • AWS
  • Bootstrap
  • Dash
  • Django
  • flask
  • GIT(sourcetree)
  • Plotly/Dash
  • VPS
  • その他tool
  • ブログ
  • プログラミング
    • Bokeh
    • css
    • HoloViews
    • Jupyter
    • Numpy
    • Pandas
    • PosgreSQL
    • Python 基本
    • python3
      • webアプリ
    • python3解説
    • scikit-learn
    • scipy
    • vps
    • Wordpress
    • グラフ
    • コマンド
    • スクレイピング
    • チートシート
    • データクレンジング
    • ブロックチェーン
    • 作成実績
    • 時系列分析
    • 機械学習
      • 分析手法
      • 教師有り
    • 異常値検知
    • 自然言語処理
  • 一太郎
  • 数学
    • sympy
      • 対数関数(log)
      • 累乗根(n乗根)
    • 暗号学

Copyright © 2025 · Genesis Sample on Genesis Framework · WordPress · Log in