2019年12月24日火曜日

開発環境

入門Goプログラミング (Nathan Youngman(著)、Roger Peppé(著)、吉川 邦夫(監修, 翻訳)、翔泳社)のUNIT 1(命令型プログラミング)、LESSON 5(チャレンジ(火星行きのチケット))の解答を求めてみる。

コード

package main

import (
 "fmt"
 "math/rand"
 "time"
)

const secondsPerDay = 24 * 60 * 60

func main() {
 fmt.Println("航宙会社         日数 種類 価格")
 fmt.Println("===============================")
 distance := 62100000
 speedMin := 16
 speedMax := 30
 rand.Seed(time.Now().UnixNano())
 for i := 0; i < 10; i++ {
  var spaceline string
  switch rand.Intn(3) {
  case 0:
   spaceline = "Space Adventures"
  case 1:
   spaceline = "SpaceX"
  case 2:
   spaceline = "Virgin Galactic"
  }
  kmPerSecond := speedMin + rand.Intn(speedMax-speedMin+1)
  kmPerDay := secondsPerDay * kmPerSecond
  days := distance / kmPerDay
  var tripType string
  price := kmPerSecond + 20
  if rand.Intn(2) == 0 {
   tripType = "片道"
  } else {
   tripType = "往復"
   price *= 2
  }
  fmt.Printf("%-16v %2v日 %2v $%3v\n", spaceline, days, tripType, price)
 }
}

入出力結果(Zsh、PowerShell、Terminal)

% go run tickets.go 
航宙会社         日数 種類 価格
===============================
Virgin Galactic  25日 往復 $ 96
Space Adventures 24日 往復 $ 98
Space Adventures 34日 往復 $ 82
Space Adventures 28日 往復 $ 90
Space Adventures 26日 往復 $ 94
Virgin Galactic  42日 片道 $ 37
SpaceX           29日 往復 $ 88
Space Adventures 25日 片道 $ 48
Virgin Galactic  39日 片道 $ 38
Space Adventures 32日 片道 $ 42
% go run tickets.go
航宙会社         日数 種類 価格
===============================
SpaceX           27日 片道 $ 46
Virgin Galactic  29日 往復 $ 88
Space Adventures 39日 往復 $ 76
Space Adventures 23日 往復 $100
Virgin Galactic  29日 往復 $ 88
Virgin Galactic  32日 片道 $ 42
Virgin Galactic  25日 往復 $ 96
Space Adventures 44日 片道 $ 36
Virgin Galactic  24日 往復 $ 98
Virgin Galactic  35日 往復 $ 80
% go run tickets.go
航宙会社         日数 種類 価格
===============================
SpaceX           42日 片道 $ 37
Space Adventures 24日 片道 $ 49
SpaceX           39日 片道 $ 38
SpaceX           27日 往復 $ 92
Space Adventures 44日 片道 $ 36
SpaceX           25日 片道 $ 48
Virgin Galactic  32日 往復 $ 84
SpaceX           25日 往復 $ 96
Space Adventures 26日 往復 $ 94
SpaceX           27日 往復 $ 92
% go run tickets.go
航宙会社         日数 種類 価格
===============================
SpaceX           44日 片道 $ 36
SpaceX           39日 往復 $ 76
Space Adventures 26日 片道 $ 47
Space Adventures 37日 往復 $ 78
Virgin Galactic  34日 片道 $ 41
Space Adventures 24日 片道 $ 49
SpaceX           35日 往復 $ 80
Space Adventures 42日 往復 $ 74
Virgin Galactic  37日 往復 $ 78
Virgin Galactic  23日 片道 $ 50
% go run tickets.go
航宙会社         日数 種類 価格
===============================
Virgin Galactic  37日 往復 $ 78
Virgin Galactic  28日 片道 $ 45
Virgin Galactic  34日 片道 $ 41
Virgin Galactic  26日 片道 $ 47
Space Adventures 29日 往復 $ 88
Virgin Galactic  27日 往復 $ 92
SpaceX           37日 往復 $ 78
Virgin Galactic  24日 往復 $ 98
Virgin Galactic  44日 往復 $ 72
Space Adventures 24日 往復 $ 98
%

0 コメント:

コメントを投稿