基于Go語(yǔ)言實(shí)現(xiàn)分金幣游戲
問(wèn)題
你有50枚金幣,需要分配給以下幾個(gè)人: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枚金幣
寫(xiě)一個(gè)程序,計(jì)算每個(gè)用戶(hù)分到多少金幣,以及最后剩余多少金幣?
程序結(jié)構(gòu)如下,請(qǐng)實(shí)現(xiàn) ‘dispatchCoin’ 函數(shù)
代碼實(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) }
運(yùn)行效果
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語(yǔ)言實(shí)現(xiàn)分金幣游戲的文章就介紹到這了,更多相關(guān)Go分金幣游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語(yǔ)言中匿名嵌套和類(lèi)型嵌套的區(qū)別解析
在Go語(yǔ)言中,匿名嵌套結(jié)構(gòu)體和與類(lèi)型同名的嵌套結(jié)構(gòu)體不是完全等價(jià)的,它們有一些重要的區(qū)別,這篇文章主要介紹了Go語(yǔ)言中匿名嵌套和類(lèi)型嵌套的區(qū)別,需要的朋友可以參考下2023-09-09Golang如何實(shí)現(xiàn)任意進(jìn)制轉(zhuǎn)換的方法示例
進(jìn)制轉(zhuǎn)換是人們利用符號(hào)來(lái)計(jì)數(shù)的方法,進(jìn)制轉(zhuǎn)換由一組數(shù)碼符號(hào)和兩個(gè)基本因素“基數(shù)”與“位權(quán)”構(gòu)成,這篇文章主要給大家介紹了關(guān)于Golang如何實(shí)現(xiàn)10進(jìn)制轉(zhuǎn)換62進(jìn)制的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí)學(xué)習(xí),下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09Go語(yǔ)言循環(huán)遍歷含有中文的字符串的方法小結(jié)
這篇文章主要介紹了Go語(yǔ)言循環(huán)遍歷含有中文的字符串的幾種方法,文章通過(guò)代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴跟著小編一起來(lái)看看吧2023-07-07用go寫(xiě)的五子棋預(yù)測(cè)算法的實(shí)現(xiàn)
這篇文章主要介紹了用go寫(xiě)的五子棋預(yù)測(cè)算法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Golang連接并操作PostgreSQL數(shù)據(jù)庫(kù)基本操作
PostgreSQL是常見(jiàn)的免費(fèi)的大型關(guān)系型數(shù)據(jù)庫(kù),具有豐富的數(shù)據(jù)類(lèi)型,也是軟件項(xiàng)目常用的數(shù)據(jù)庫(kù)之一,下面這篇文章主要給大家介紹了關(guān)于Golang連接并操作PostgreSQL數(shù)據(jù)庫(kù)基本操作的相關(guān)資料,需要的朋友可以參考下2022-09-09詳解go語(yǔ)言單鏈表及其常用方法的實(shí)現(xiàn)
這篇文章主要介紹了詳解go語(yǔ)言單鏈表及其常用方法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11golang實(shí)現(xiàn)對(duì)docker容器心跳監(jiān)控功能
這篇文章主要介紹了golang實(shí)現(xiàn)對(duì)docker容器心跳監(jiān)控功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09