puk
This commit is contained in:
parent
a79fe7c843
commit
7d67459626
|
|
@ -2,12 +2,86 @@ package main
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"sort"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var total int
|
||||
for i := 0; i < 10; i++ {
|
||||
total = total + i
|
||||
fmt.Println(total)
|
||||
}
|
||||
type Player struct {
|
||||
name string
|
||||
}
|
||||
|
||||
type Team struct {
|
||||
Name string
|
||||
Members []Player
|
||||
}
|
||||
|
||||
type League struct {
|
||||
Wins map[string]int
|
||||
}
|
||||
|
||||
type Ranker interface {
|
||||
Ranking () []string
|
||||
}
|
||||
|
||||
func (l League) MatchResult(ft, st string, fscore, sscore int) {
|
||||
l.Wins[ft] += fscore
|
||||
l.Wins[st] += sscore
|
||||
}
|
||||
|
||||
func (l League) Ranking() []string {
|
||||
for k, v := range l.Wins {
|
||||
fmt.Printf("Command %s has %d scores\n", k, v)
|
||||
}
|
||||
keys := make([]string, 0, len(l.Wins))
|
||||
for k := range l.Wins {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
|
||||
sort.Slice(keys, func(i, j int) bool {
|
||||
return l.Wins[keys[i]] > l.Wins[keys[j]]
|
||||
})
|
||||
|
||||
for _, k := range keys {
|
||||
fmt.Println(k, l.Wins[k])
|
||||
}
|
||||
|
||||
return keys
|
||||
}
|
||||
|
||||
func main() {
|
||||
Spartak := Team{
|
||||
Name: "Spartak",
|
||||
Members: []Player{
|
||||
{name: "Titov"},
|
||||
{name: "Dzuba"},
|
||||
},
|
||||
}
|
||||
|
||||
Dinamo := Team{
|
||||
Name: "Dinamo",
|
||||
Members: []Player{
|
||||
{name: "Ivanov"},
|
||||
{name: "Petrov"},
|
||||
},
|
||||
}
|
||||
|
||||
Torpedo := Team{
|
||||
Name: "Torpedo",
|
||||
Members: []Player{
|
||||
{name: "Sidorov"},
|
||||
{name: "Zalupkin"},
|
||||
},
|
||||
}
|
||||
|
||||
league := League{
|
||||
Wins: make(map[string]int),
|
||||
}
|
||||
|
||||
league.MatchResult(Spartak.Name, Dinamo.Name, 2, 4)
|
||||
league.MatchResult(Torpedo.Name, Dinamo.Name, 3, 3)
|
||||
league.MatchResult(Spartak.Name, Torpedo.Name, 1, 2)
|
||||
|
||||
fmt.Println(league)
|
||||
|
||||
fmt.Println(league.Ranking())
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user