開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
入門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 コメント:
コメントを投稿