基于Go語言實現(xiàn)分金幣游戲
問題
你有50枚金幣,需要分配給以下幾個人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaron,Elizabeth。
分配規(guī)則如下:
a. 名字中每包含'e'或'E'分1枚金幣
b. 名字中每包含'i'或'I'分2枚金幣
c. 名字中每包含'o'或'O'分3枚金幣
d: 名字中每包含'u'或'U'分4枚金幣
寫一個程序,計算每個用戶分到多少金幣,以及最后剩余多少金幣?
程序結(jié)構(gòu)如下,請實現(xiàn) ‘dispatchCoin’ 函數(shù)
代碼實現(xiàn)
package main
import (
"fmt"
"strings"
)
var (
coins = 50
users = []string{
"Matthew", "Sarah", "Augustus", "Heidi", "Emilie", "Peter", "Giana", "Adriano", "Aaron", "Elizabeth",
}
distribution = make(map[string]int, len(users))
)
// strings.ContainsAny 判斷字符串s是否包含字符串chars中的任一字符
func dispatchCoin() int {
for _, i := range users {
if strings.ContainsAny(i, "e & E") {
distribution[i]++
}
if strings.ContainsAny(i, "i & I") {
distribution[i] += 2
}
if strings.ContainsAny(i, "o & O") {
distribution[i] += 3
}
if strings.ContainsAny(i, "u & U") {
distribution[i] += 4
}
coins -= distribution[i]
}
return coins
}
func main() {
left := dispatchCoin()
for _, i := range users {
fmt.Println(i, distribution[i])
}
fmt.Println("剩下:", left)
}
運行效果
D:\Software\godata\src\1201>go run main.go
Matthew 1
Sarah 0
Augustus 4
Heidi 3
Emilie 3
Peter 1
Giana 2
Adriano 5
Aaron 3
Elizabeth 3
剩下: 25
到此這篇關(guān)于基于Go語言實現(xiàn)分金幣游戲的文章就介紹到這了,更多相關(guān)Go分金幣游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Golang中創(chuàng)建一個簡單的服務器的方法
這篇文章主要介紹了淺談Golang中創(chuàng)建一個簡單的服務器的方法,golang中的net/http包對網(wǎng)絡的支持非常好,這樣會讓我們比較容易的建立起一個相對簡單的服務器,有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
go編程中g(shù)o-sql-driver的離奇bug解決記錄分析
這篇文章主要為大家介紹了go編程中g(shù)o-sql-driver的離奇bug解決記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
golang?使用sort.slice包實現(xiàn)對象list排序
這篇文章主要介紹了golang?使用sort.slice包實現(xiàn)對象list排序,對比sort跟slice兩種排序的使用方式區(qū)別展開內(nèi)容,需要的小伙伴可以參考一下2022-03-03

