Python学习之Craps赌博游戏篇
在此先安利一波大佬的Python学习项目地址:https://github.com/jackfrued/Python-100-Days
这些天一直在看着大佬的项目学习Python,这是第五天循环学习完的练习,感觉很有意思,就照着意思写了一下,期间也改进了很多不满意的地方,个人认为这个例子真的很,
可以根据运行中产生的很多问题一步步去解决,达到自己理想的效果
Craps赌博游戏:
玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜
如果摇出2点 3点 12点 庄家胜 其他情况游戏继续
玩家再次要色子 如果摇出7点 庄家胜
如果摇出第一次摇的点数 玩家胜
否则游戏继续 玩家继续摇色子
玩家进入游戏时有1000元的赌注 全部输光游戏结束
这是那位大佬的版本:
1 from random import randint
2
3 money = 1000
4 while money > 0:
5 print('你的总资产为:', money)
6 needs_go_on = False
7 while True:
8 debt = int(input('请下注: '))
9 if debt > 0 and debt <= money:
10 break
11 first = randint(1, 6) + randint(1, 6)
12 print('玩家摇出了%d点' % first)
13 if first == 7 or first == 11:
14 print('玩家胜!')
15 money += debt
16 elif first == 2 or first == 3 or first == 12:
17 print('庄家胜!')
18 money -= debt
19 else:
20 needs_go_on = True
21
22 while needs_go_on:
23 current = randint(1, 6) + randint(1, 6)
24 print('玩家摇出了%d点' % current)
25 if current == 7:
26 print('庄家胜')
27 money -= debt
28 needs_go_on = False
29 elif current == first:
30 print('玩家胜')
31 money += debt
32 needs_go_on = False
33
34 print('你破产了, 游戏结束!')
大佬的版本我觉得只有一个不友好的地方就是当输入为空时,会出现一个ValueError的异常,这样我认为不太友好,所以改版了一下,下面是我的版本
1 from random import randint
2 money=1000
3 while money>0:
4 touzhu=0
5 try:
6 touzhu = int(input('你投注的金额是:'))
7 except ValueError:
8 print('输入为空',end=', ')
9 #touzhu=int(input())
10 finally:
11 flag=False
12 if touzhu <= 0:
13 print('投注无效,请重新投注')
14 elif touzhu > money:
15 print('投注超过了你的资产总和,请重新投注')
16 else:
17 shuzi=randint(1,6)+randint(1,6)
18 #print('本次摇出的点数为:%d'%shuzi)
19 cun=shuzi
20 if shuzi==7 or shuzi==11:
21 print('恭喜,你赢了!')
22 money+=touzhu
23 elif shuzi==2 or shuzi==3 or shuzi==12:
24 print('不好意思,你输了!')
25 #zhuangjia+=touzhu
26 money-=touzhu
27 else:
28 flag=True
29 zongtouzhu = 0
30 while flag:
31 jiazhu=-1
32 try:
33 jiazhu=int(input('你的加注金额是:'))
34 except ValueError:
35 print('输入为空',end=', ')
36 finally:
37 zongtouzhu+=jiazhu
38 flag=False
39 if zongtouzhu+touzhu > money:
40 print('加注超过了你的资产总和,请重新加注')
41 zongtouzhu-=jiazhu
42 flag=True
43 elif jiazhu < 0:
44 #可以不加注,则加注为0
45 print('加注无效,请重新加注')
46 flag=True
47 zongtouzhu-=jiazhu
48 else:
49 shuzi=randint(1,6)+randint(1,6)
50 #print('本次摇出的点数为:%d'%(shuzi))
51 if shuzi==7:
52 print('不好意思,你输了!')
53 money-=(touzhu+zongtouzhu)
54 #zhuangjia+=touzhu
55 elif shuzi==cun:
56 print('恭喜,你赢了!')
57 money+=(touzhu+zongtouzhu)
58 else:
59 flag=True
60 #print(money)
61 print('你已经破产,游戏结束!')

本来按照游戏原本的思路去写的,写着写着就想要不第二次以后摇色子来个加注吧,这样更刺激嘛,哈哈哈哈,另这个版本当输入为空时,提示为无效,可以重新投注,游戏继续,
不会出现红色异常的,其他就没什么改进了,想加个界面做成一个完整的摇色子游戏,可是这块还不会,继续加油了
还请路过的大佬指点不足啊
Python学习之Craps赌博游戏篇的更多相关文章
- 【craps赌博游戏】
/* cpaps赌博游戏 说明: 一个简单的赌博游戏,游戏规则如下:玩家掷两个骰子,点数为1到6,如果第一次点数和为7或11,则玩家胜,如果点数和为2.3 或12,则玩家输,如果和 为其它点数,则记录 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- Python学习之not,and,or篇
Python学习之not,and,or篇 运算符示意 not –表示取反运算. and –表示取与运算. or –表示取或运算. 运算符优先级 not > and > or. 举例如下: ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python应用-craps赌博游戏
from random import randint face1=randint(1,6) face2=randint(1,6) first_point=face1+face2 print('玩家摇出 ...
- python学习之掷骰子游戏
""" 通过学习的python知识,写一个简单的python小游戏 游戏名字:掷骰子比大小 游戏规则: 1.玩家可以选择玩掷几个骰子游戏(默认3个) 2.玩家可以设置双方 ...
- python 学习笔记十三 JQuery(进阶篇)
jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 安装jQuery 有两个版本的 jQuery 可供下载: Production versio ...
- python学习:猜数字游戏
猜数字游戏 系统生成一个100以内的随机整数, 玩家有6次机会进行猜猜看,每次猜测都有反馈(猜大了,猜小了,猜对了-结束) 6次中,猜对了,玩家赢了. 否则系统赢了 #!/usr/bin/en ...
- Python学习笔记【第六篇】:迭代器、生成器、高阶函数、装饰器
迭代器 迭代器是访问集合元素的一种方式,迭代器从对象的第一个元素开始访问,知道所有元素被访问完成.迭代器只能往前访问,不能通过索引访问. 类型内部使用__iter__()方法转为迭代器,使用__nex ...
随机推荐
- 3ds Max File Format (Part 4: The first useful data; Scene, AppData, Animatable)
The most interesting part of this file is, evidently, the Scene. Opening it up in the chunk parser, ...
- 部署Discuz和wordoress
安装discuz 直接把安装包拷贝到根目录下 然后在浏览器中输入http://localhost/myweb/install/index.php 打开安装向导界面,需要修改一下myweb的权限 安全属 ...
- 初步自学Java小结
本周学习Java使我印象最深刻的Java开发环境的安装与设置,通过下载Eclipse IDE for Java Developers初步搭建好了Java开发环境,之后利用视频了解了Java程序的类型及 ...
- PHP毫秒
PHP毫秒 php的毫秒是没有默认函数的,但提供了一个microtime()函数,该函数返回包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回毫秒数的函数,例如: ...
- Manacher算法求最长回文串模板
#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> ...
- 错误:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', ...
- Git的安装与使用详解
git安装 下载安装git:采用默认配置安装即可 使用git --version确认是否安装成功,如下 GitHub使用: 配置sshkey,后续可以免密登录github cd / ssh-keyge ...
- codeforces 1283E New Year Parties (贪心)
链接:https://codeforces.com/contest/1283/problem/E 题意: 有n个人住在一些房子里,有的人住在同一个房子里.每个人可以选择搬去他的房子左边那个房子或者右边 ...
- 从心出发-刷leetcode写给5年后的自己
而立之年终未立,不惑而年犹存惑!这或许就是所谓的中年危机吧! 自认为是一个"勤奋"的人,又"未有寸功",天天碌碌,不知何为. "常立志"而未 ...
- 阿里云 Linux 挂在硬盘 翻了几篇这个最好
原文 :https://www.jianshu.com/p/fa587bbfbb60 阿里云数据盘挂载完整过程 阿里云挂载云盘第一步 在阿里云管理员后台,云盘管理中心挂载好云盘在哪个服务器上面. 登录 ...