网络编程
位置:首页>> 网络编程>> Go语言>> 基于Go语言实现分金币游戏

基于Go语言实现分金币游戏

作者:哼嘿哈嘿  发布时间:2023-06-22 06:49:28 

标签:Go,分金币,游戏

问题

你有50枚金币,需要分配给以下几个人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaron,Elizabeth。

分配规则如下:

a. 名字中每包含'e'或'E'分1枚金币

b. 名字中每包含'i'或'I'分2枚金币

c. 名字中每包含'o'或'O'分3枚金币

d: 名字中每包含'u'或'U'分4枚金币

写一个程序,计算每个用户分到多少金币,以及最后剩余多少金币?

程序结构如下,请实现 ‘dispatchCoin’ 函数

代码实现

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

来源:https://blog.csdn.net/weixin_44208042/article/details/110450871

0
投稿

猜你喜欢

  • 如何远程注册DLL?试试下面的代码:<% Response.Buffer = True %&g
  • 如何在寸土寸金的首页上使页面的价值最大化,是每个网站设计者最关心的话题。用户关注的页面长度、宽度都是有限的。宽度自不必说,一般网站都会根据自
  • 作为入门者来说,了解JavaScript中timer的工作方式是很重要的。通常它们的表现行为并不是那么地直观,而这是因为它们都处在一个单一线
  • 在电子产品的设计中,大家经常提到简洁是设计的重要元素。可是很多产品,不见得简洁就是第一要素。简洁的设计,必须是在对用户需求透彻理解,引导用户
  • by leecade :我聊下我的想法 从功能上看,能不能把JS分成3层结构1 语法设计,选择器,常用函数2 业务逻辑(比如封装好常用的TA
  • 面向对象的程序设计随着程序的设计的复杂性增加,结构化程序设计方法又不够用了。不够用的根本原因是“代码重用”的时候不方便。面向对象的方法诞生了
  • 听到一些人说现在做产品设计很没有成就感。没有什么创造力,除了抄袭模仿(称之为竞争分析)、千篇一律(又称规范标准)还有复杂的流程、粗制滥造的表
  • Windows中升级MySQL应采取的步骤:1. 进行升级前你应先备份当前的MySQL安装。2. 下载最新Windows版MySQL。3.
  • BrowserPlus 到底是什么,又能做什么?BrowserPlus 是 Yahoo! 最近刚发布一个 Web 扩展的平台:终端用户需安装
  • Jon Wiley, User Experience Designer for Google Apps, outlined some of
  • 到目前为止,我们连接的都是两张不同的表,那么能不能对一张表进行自我连接呢?答案是肯定的。有没有必要对一张表进行自我连接呢?答案也是肯定的。
  • 从09年初接手淘宝手机网站前端开发的工作至今,转眼已是一年。一步步看着手机淘宝从最初的beta版本到今天的样子,感慨良多。手机网站开发,有着
  • Asp中Server.ScriptTimeOut属性需要注意的一点Server.ScriptTimeout?这个属性给定Asp脚本执行的最大
  • PHP count_chars() 函数实例返回一个字符串,包含所有在 "Hello World!" 中使用过的不同字符
  • 缓动,学名为Tween,缓冲移动的简称。要想页面内容切换起来舒服,就使用淡入淡出特效,要想让页面元素动起来自然,就要使用缓动效果。这两个混合
  • ---- 一、 引言: ---- 回滚段是数据库的一部分,它记录数据库变更的信息。使用这些信息实现数据库的读一致性及其恢复。若回滚段出现故障
  • 在Microsoft OfficeAccess和 Microsoft OfficeExcel之间存在多种交换数据的方法。若要将Access中
  • 前阵子刚完成一个B/S架构的学校办公系统,体会就是表太多,文件太多,而每个文件中类似的操作(代码)也太多了,例如学生信息和教师信息操作,st
  • 身为一名小小的程序猿,在日常开发中不可以避免的要和where in和like打交道,在大多数情况下我们传的参数不多简单做下单引号、敏感字符转
  • 本文实例讲述了php基于协程实现异步的方法。分享给大家供大家参考,具体如下:github上php的协程大部分是根据这篇文章实现的:http:
手机版 网络编程 asp之家 www.aspxhome.com