python进阶练习题:纸牌游戏:黑杰克【难度:2级】:
介绍
一个新的赌场已经来到了拉斯维加斯,但是这个赌场不希望有人类的工作人员,但他们希望实现一系列过程自动化,计算机系统.
寻找引用和建议后,行政团队已经决定聘请你来开发这些系统.
你的任务
酒杯
写绘制卡经销商,并返回谁赢得了玩家功能.
每个表将包括3名球员,"玩家1"`` "玩家2"`` "播放器3"
规则
* 玩家对战的桌子管理人员只,而不是与其他玩家.
* 在二十一点每个卡都有它的价值,而数字是值得不管他们的数字表示. "J"`` "Q"
和"K"
是值得10
,"A"
可能值得11或1
,总是试图保持了最高分.
* 如果一个球员超过21
分,他们输了.
* 赌场上的总管必须从甲板上,直到它的手得分17
分以上划卡.
* 玩家有一个酒杯,当他们有2个卡,价值10卡和一个"A"
* 如果球员有一个酒杯,然后他们赢了,除非桌子管理人员也有一个大酒杯.
例子
播放器1分的手=> "J", "A" // 21黑杰克
播放器2手=> "10", "5", "6" // 21
播放器3手=> "3", "6", "A", "3", "A", "K" // 24
赌台管理员手=> "9", "7" // 16
甲板=> "5", "4", "K", "2"
由于庄家有低于17分,则必须抓一张牌.
赌台管理员手=> "9", "7", "5" // 21
甲板=> "4", "K", "2"
现在比较手
玩家1分21,赌台管理员得分21,但播放器1具有黑杰克,那么玩家1韩元
玩家2分21,赌台管理员得分21,得出
玩家分数24,玩家3超过21让他失去
返回[ "玩家1"]
播放器1的手=> "10", "K" // 20
播放器2手=> "10", "2", "6" // 18
播放器3手=> "8", "8", "5" // 21
赌台管理员手=> "5", "10" // 15
甲板=> "A", "3", "K", "2"
由于庄家有低于17分,则必须抓一张牌.
赌台管理员手=> "5", "10", "A", "3" // 19
甲板=> "K", "2"
现在比较手
玩家1分20,赌台管理员得分19,玩家1韩元
玩家2分18,赌台管理员得分19,玩家2丢失
玩家分数21,赌台管理员得分19,玩家3韩元
返回[ "玩家1", "播放器3"]
播放器1分的手=> "J", "A" // 21黑杰克
播放器2手=> "10", "5", "6" // 21
播放器3手=> "3", "6", "A", "3", "A", "K" // 24
赌台管理员手=> "9", "7" // 16
甲板=> "5", "4", "K", "2"
由于庄家有低于17分,则必须抓一张牌.
赌台管理员手=> "9", "7", "5" // 21
甲板=> "4", "K", "2"
现在比较手
玩家1分21,赌台管理员得分21,但播放器1具有黑杰克,那么玩家1韩元
玩家2分21,赌台管理员得分21,得出
玩家分数24,玩家3超过21让他失去
返回[ "玩家1"]
播放器1的手=> "10", "K" // 20
播放器2手=> "10", "2", "6" // 18
播放器3手=> "8", "8", "5" // 21
赌台管理员手=> "5", "10" // 15
甲板=> "A", "3", "K", "2"
由于庄家有低于17分,则必须抓一张牌.
赌台管理员手=> "5", "10", "A", "3" // 19
甲板=> "K", "2"
现在比较手
玩家1分20,赌台管理员得分19,玩家1韩元
玩家2分18,赌台管理员得分19,玩家2丢失
玩家分数21,赌台管理员得分19,玩家3韩元
返回[ "玩家1", "播放器3"]
播放器1分的手=> "J", "A" // 21黑杰克
播放器2手=> "10", "5", "6" // 21
播放器3手=> "3", "6", "A", "3", "A", "K" // 24
赌台管理员手=> "9", "7" // 16
甲板=> "5", "4", "K", "2"
由于庄家有低于17分,则必须抓一张牌.
赌台管理员手=> "9", "7", "5" // 21
甲板=> "4", "K", "2"
现在比较手
玩家1分21,赌台管理员得分21,但播放器1具有黑杰克,那么玩家1韩元
玩家2分21,赌台管理员得分21,得出
玩家分数24,玩家3超过21让他失去
返回"玩家1"
播放器1的手=> "10", "K" // 20
播放器2手=> "10", "2", "6" // 18
播放器3手=> "8", "8", "5" // 21
赌台管理员手=> "5", "10" // 15
甲板=> "A", "3", "K", "2"
由于庄家有低于17分,则必须抓一张牌.
赌台管理员手=> "5", "10", "A", "3" // 19
甲板=> "K", "2"
现在比较手
玩家1分20,赌台管理员得分19,玩家1韩元
玩家2分18,赌台管理员得分19,玩家2丢失
玩家分数21,赌台管理员得分19,玩家3韩元
回归"玩家1,玩家3"
假设##
的输入永远不会为空.
所有字母都是大写
当赌台管理员绘制的存储卡,赌台管理员绘制从甲板第一元件
编程目标:
def winners(player1, player2, player3, croupier, deck):
# TODO: complete
return []
测试样例:
Test.describe("Example test, no winners")
Test.assert_equals(winners(
["6", "A", "2", "Q", "3"], #22
["5", "8"], #13
["6", "Q", "2"], #18
["3", "10"], #13, 18 after drawing
["A", "4", "10", "5", "4", "A", "Q", "2", "6", "A", "5", "7", , "Q", "2", "8", "9", "A", "K", "2", "8"]),[])
Test.describe("Example test, Player 1 wins due to Black Jack")
["J", "A"], # 21 BJ
["8", "J", "7"], # 25
["2", "4", "K", "10"], # 26
["K", "8"], # 18, 21 after drawing
["3", "6", "A", "8", "9", "A", "3", "Q", "5", "2", "3", "8", "6", "J", "K", "2", "8", "7", "7", "K", "Q"]),["Player 1"] )
Test.describe("Example test, player 2 and 3 wins:")
Test.assert_equals(winners(
最佳答案(多种解法):
点击查看答案
更多关联题目:
交流讨论:
景越Python基础训练营QQ群
欢迎各位同学加群讨论,一起学习,共同成长!
免责申明:
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/card-games-black-jack
更多推荐
python进阶练习题:纸牌游戏:黑杰克【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
发布评论