鱼C论坛

 找回密码
 立即注册
查看: 4156|回复: 17

重新提交,刚才没发好,求助,各位大神看看是哪里有问题,结果出来怎么会是0

[复制链接]
发表于 2015-12-29 10:51:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 枫凌宇 于 2016-1-8 16:26 编辑

不知道是判断还是缩进的问题,出来结果是0,可是我看不出来。还有不知道怎么用代码格式发贴,求教。

一种掷骰子游戏,

有两个固定玩家甲和乙,可以买开出骰子的大(4、5、6)或小(1、2、3),甲采用倍投算法,乙定额投注10元,他们各有10000元,

庄开出的赔率为1赔1,

用程序模拟出一万盘后庄家的盈利


  1. import random
  2. JiajinE=10000#甲可用金额

  3. yiJinE=10000#乙可用金额

  4. zongCiShu=10000#总次数

  5. yiTouZhuJinE=10#乙投注金额

  6. jiaZhuangJiaJinE=1000000#假设庄家用于和甲对赌金额

  7. yiZhuangJiaJinE=1000000#假设庄家用于和乙对赌金额

  8. JiaTouZhuJinE=10#甲开始投注金额

  9. jiaShujinE=0#甲该轮输掉的金额

  10. zhuangJiaJinE=jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000#庄家盈利金额

  11. while zongCiShu:#判断可投注次数
  12.     zongCiShu=zongCiShu-1
  13.     if JiajinE>JiaTouZhuJinE:#判断甲有没有金额继续下轮
  14.         jiaTouZhuDaXiao=random.randint(1,6)#生成甲方随机投注号码
  15.         if jiaTouZhuDaXiao>=4:#判断甲投注大小
  16.             jiaTouZhuDaXiao=1#标注甲中奖大小
  17.         else:
  18.             jiaTouZhuDaXiao=0#标注甲中奖大小
  19.             
  20.     if yiJinE>yiTouZhuJinE:#判断乙有没有金额继续下轮
  21.         yiTouZhuDaXiao=random.randint(1,6)#生成乙方随机投注号码
  22.         if yiTouZhuDaXiao>=4:#判断乙投注大小
  23.             yiTouZhuDaXiao=1#标注乙中奖大小
  24.         else:
  25.             yiTouDaXiao=0#标注乙中奖大小
  26.     zhuangJiaDaXiao=random.randint(1,6)#生成随机庄家开奖大小
  27.     if zhuangJiaDaXiao>=4:#判断开大还是小
  28.         zhuangJiaDaXiao=1#标注庄家大小
  29.     else:
  30.         zhuangJiaDaXiao=0#标注庄家大小
  31.     if zhuangJiaDaXiao==jiaTouZhuDaXiao:#判断甲有没有中
  32.         JiajinE=JiajinE+JiaTouZhuJinE*2#计算甲赢了之后的可用金额
  33.         jiaZhuangJiaJinE=zhuangJiaJinE-JiaTouZhuJinE#计算庄家输之后的金额
  34.         jiaShujinE=0#重设输掉的金额
  35.         JiaTouZhuJinE=10#下轮应该下注金额
  36.     else:
  37.         JiajinE=JiajinE-JiaTouZhuJinE#计算甲输了之后的可用金额
  38.         jiashujinE=jiaShujinE+JiaTouZhuJinE#输掉的金额
  39.         zhuangJiaJinEA=zhuangJiaJinE+jiaShujinE#计算庄家赢之后的金额
  40.         jiaTouZhuJinE=jiaShujinE*2#下轮应该下注金额
  41.     if zhuangJiaDaXiao==yiTouZhuDaXiao:#判断乙有没有中
  42.         yiJinE=yiJinE+yiTouZhuJinE*2#计算乙赢了之后的可用金额
  43.         yiZhuangJiaJinE=yiZhuangJiaJinE-yiTouZhuJinE#计算庄家输之后的金额
  44.     else:
  45.         yiJinE=yiJinE-yiTouZhuJinE#计算乙输之后的可用金额
  46.         yiZhuangJiaJinE=yiZhuangJiaJinE+yiTouZhuJinE#计算庄家赢之后的金额
  47.     yiTouZhuJinE=10#重设乙的投注金额
  48. print(zhuangJiaJinE)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-29 11:05:04 | 显示全部楼层
好强大的变量名
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-29 11:05:45 | 显示全部楼层

没办法,不会英文。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-29 11:22:56 | 显示全部楼层
枫凌宇 发表于 2015-12-29 11:05
没办法,不会英文。。。

直接贴核心代码吧,这么多看的眼花
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-29 11:25:29 | 显示全部楼层
hldh214 发表于 2015-12-29 11:22
直接贴核心代码吧,这么多看的眼花

见谅,核心代码指的是?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-29 11:27:34 | 显示全部楼层
枫凌宇 发表于 2015-12-29 11:25
见谅,核心代码指的是?

就是出问题的代码,或者是对运行结果有疑问的代码
另,代码最好用论坛的代码格式发出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-29 11:52:44 | 显示全部楼层
我选择死亡- -。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-29 11:56:20 | 显示全部楼层
hldh214 发表于 2015-12-29 11:27
就是出问题的代码,或者是对运行结果有疑问的代码
另,代码最好用论坛的代码格式发出来

求教怎么用代码格式发:cry
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-29 13:20:51 | 显示全部楼层
hldh214 发表于 2015-12-29 11:27
就是出问题的代码,或者是对运行结果有疑问的代码
另,代码最好用论坛的代码格式发出来
  1. import random
  2. JiajinE=10000#甲可用金额

  3. yiJinE=10000#乙可用金额

  4. zongCiShu=10000#总次数

  5. yiTouZhuJinE=10#乙投注金额

  6. jiaZhuangJiaJinE=1000000#假设庄家用于和甲对赌金额

  7. yiZhuangJiaJinE=1000000#假设庄家用于和乙对赌金额

  8. JiaTouZhuJinE=10#甲开始投注金额

  9. jiaShujinE=0#甲该轮输掉的金额

  10. zhuangJiaJinE=jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000#庄家盈利金额

  11. while zongCiShu:#判断可投注次数
  12.     zongCiShu=zongCiShu-1
  13.     if JiajinE>JiaTouZhuJinE:#判断甲有没有金额继续下轮
  14.         jiaTouZhuDaXiao=random.randint(1,6)#生成甲方随机投注号码
  15.         if jiaTouZhuDaXiao>=4:#判断甲投注大小
  16.             jiaTouZhuDaXiao=1#标注甲中奖大小
  17.         else:
  18.             jiaTouZhuDaXiao=0#标注甲中奖大小
  19.             
  20.     if yiJinE>yiTouZhuJinE:#判断乙有没有金额继续下轮
  21.         yiTouZhuDaXiao=random.randint(1,6)#生成乙方随机投注号码
  22.         if yiTouZhuDaXiao>=4:#判断乙投注大小
  23.             yiTouZhuDaXiao=1#标注乙中奖大小
  24.         else:
  25.             yiTouDaXiao=0#标注乙中奖大小
  26.     zhuangJiaDaXiao=random.randint(1,6)#生成随机庄家开奖大小
  27.     if zhuangJiaDaXiao>=4:#判断开大还是小
  28.         zhuangJiaDaXiao=1#标注庄家大小
  29.     else:
  30.         zhuangJiaDaXiao=0#标注庄家大小
  31.     if zhuangJiaDaXiao==jiaTouZhuDaXiao:#判断甲有没有中
  32.         JiajinE=JiajinE+JiaTouZhuJinE*2#计算甲赢了之后的可用金额
  33.         jiaZhuangJiaJinE=zhuangJiaJinE-JiaTouZhuJinE#计算庄家输之后的金额
  34.         jiaShujinE=0#重设输掉的金额
  35.         JiaTouZhuJinE=10#下轮应该下注金额
  36.     else:
  37.         JiajinE=JiajinE-JiaTouZhuJinE#计算甲输了之后的可用金额
  38.         jiashujinE=jiaShujinE+JiaTouZhuJinE#输掉的金额
  39.         zhuangJiaJinEA=zhuangJiaJinE+jiaShujinE#计算庄家赢之后的金额
  40.         jiaTouZhuJinE=jiaShujinE*2#下轮应该下注金额
  41.     if zhuangJiaDaXiao==yiTouZhuDaXiao:#判断乙有没有中
  42.         yiJinE=yiJinE+yiTouZhuJinE*2#计算乙赢了之后的可用金额
  43.         yiZhuangJiaJinE=yiZhuangJiaJinE-yiTouZhuJinE#计算庄家输之后的金额
  44.     else:
  45.         yiJinE=yiJinE-yiTouZhuJinE#计算乙输之后的可用金额
  46.         yiZhuangJiaJinE=yiZhuangJiaJinE+yiTouZhuJinE#计算庄家赢之后的金额
  47.     yiTouZhuJinE=10#重设乙的投注金额
  48. print(zhuangJiaJinE)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-29 17:18:33 | 显示全部楼层

还是头大,稍微看了一下总逻辑,你这个zhuangJiaJinE变量在主循环里面就没有改变呀,整个脚本在18行定义了就没有再改变了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-30 05:12:24 | 显示全部楼层
18行 庄家盈利金额 = 庄家给甲的赌注金 + 庄家给乙的赌注金 -2000000

10 和12 行显示 庄家给甲的赌注金 = 1000000
                          庄家给乙的赌注金 =1000000

所以第十八行你是 庄家盈利金额 = 0

中间一大堆都没有再对这个对象进行改变,最后打印这个对象肯定是 0 啊。。。

中间一大堆真的很头大。。。:sweat:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-30 09:50:29 | 显示全部楼层
hldh214 发表于 2015-12-29 17:18
还是头大,稍微看了一下总逻辑,你这个zhuangJiaJinE变量在主循环里面就没有改变呀,整个脚本在18行定义了就 ...

好像可以了,谢谢大神!刚学的代码写得不好辛苦了!
  1. import random
  2. JiajinE=10000#甲可用金额

  3. yiJinE=10000#乙可用金额

  4. zongCiShu=10000#总次数

  5. yiTouZhuJinE=10#乙投注金额

  6. jiaZhuangJiaJinE=1000000#假设庄家用于和甲对赌金额

  7. yiZhuangJiaJinE=1000000#假设庄家用于和乙对赌金额

  8. JiaTouZhuJinE=10#甲开始投注金额

  9. jiaShujinE=0#甲该轮输掉的金额

  10. while zongCiShu:#判断可投注次数
  11.     zongCiShu=zongCiShu-1
  12.     if JiajinE>JiaTouZhuJinE:#判断甲有没有金额继续下轮
  13.         jiaTouZhuDaXiao=random.randint(1,6)#生成甲方随机投注号码
  14.         if jiaTouZhuDaXiao>=4:#判断甲投注大小
  15.             jiaTouZhuDaXiao=1#标注甲中奖大小
  16.         else:
  17.             jiaTouZhuDaXiao=0#标注甲中奖大小
  18.             
  19.     if yiJinE>yiTouZhuJinE:#判断乙有没有金额继续下轮
  20.         yiTouZhuDaXiao=random.randint(1,6)#生成乙方随机投注号码
  21.         if yiTouZhuDaXiao>=4:#判断乙投注大小
  22.             yiTouZhuDaXiao=1#标注乙中奖大小
  23.         else:
  24.             yiTouDaXiao=0#标注乙中奖大小
  25.     zhuangJiaDaXiao=random.randint(1,6)#生成随机庄家开奖大小
  26.     if zhuangJiaDaXiao>=4:#判断开大还是小
  27.         zhuangJiaDaXiao=1#标注庄家大小
  28.     else:
  29.         zhuangJiaDaXiao=0#标注庄家大小
  30.     if zhuangJiaDaXiao==jiaTouZhuDaXiao:#判断甲有没有中
  31.         JiajinE=JiajinE+JiaTouZhuJinE*2#计算甲赢了之后的可用金额
  32.         jiaZhuangJiaJinE=jiaZhuangJiaJinE-JiaTouZhuJinE#计算庄家输之后的金额
  33.         jiaShujinE=0#重设输掉的金额
  34.         JiaTouZhuJinE=10#下轮应该下注金额
  35.     else:
  36.         JiajinE=JiajinE-JiaTouZhuJinE#计算甲输了之后的可用金额
  37.         jiashujinE=jiaShujinE+JiaTouZhuJinE#输掉的金额
  38.         jiaZhuangJiaJinE=jiaZhuangJiaJinE+jiaShujinE#计算庄家赢之后的金额
  39.         jiaTouZhuJinE=jiaShujinE*2#下轮应该下注金额
  40.     if zhuangJiaDaXiao==yiTouZhuDaXiao:#判断乙有没有中
  41.         yiJinE=yiJinE+yiTouZhuJinE*2#计算乙赢了之后的可用金额
  42.         yiZhuangJiaJinE=yiZhuangJiaJinE-yiTouZhuJinE#计算庄家输之后的金额
  43.     else:
  44.         yiJinE=yiJinE-yiTouZhuJinE#计算乙输之后的可用金额
  45.         yiZhuangJiaJinE=yiZhuangJiaJinE+yiTouZhuJinE#计算庄家赢之后的金额
  46.     yiTouZhuJinE=10#重设乙的投注金额
  47. if jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000>0:
  48.     print('庄家盈利:',jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000)#庄家盈利金额
  49. else:
  50.      print('庄家亏损:',jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000)
  51. print('甲方金额:',yiJinE)
  52. print('乙方金额:',JiajinE)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-30 09:51:02 | 显示全部楼层
漆雕古代 发表于 2015-12-30 05:12
18行 庄家盈利金额 = 庄家给甲的赌注金 + 庄家给乙的赌注金 -2000000

10 和12 行显示 庄家给甲的赌注金  ...

好像可以了,谢谢大神!刚学的代码写得不好辛苦了!
  1. import random
  2. JiajinE=10000#甲可用金额

  3. yiJinE=10000#乙可用金额

  4. zongCiShu=10000#总次数

  5. yiTouZhuJinE=10#乙投注金额

  6. jiaZhuangJiaJinE=1000000#假设庄家用于和甲对赌金额

  7. yiZhuangJiaJinE=1000000#假设庄家用于和乙对赌金额

  8. JiaTouZhuJinE=10#甲开始投注金额

  9. jiaShujinE=0#甲该轮输掉的金额

  10. while zongCiShu:#判断可投注次数
  11.     zongCiShu=zongCiShu-1
  12.     if JiajinE>JiaTouZhuJinE:#判断甲有没有金额继续下轮
  13.         jiaTouZhuDaXiao=random.randint(1,6)#生成甲方随机投注号码
  14.         if jiaTouZhuDaXiao>=4:#判断甲投注大小
  15.             jiaTouZhuDaXiao=1#标注甲中奖大小
  16.         else:
  17.             jiaTouZhuDaXiao=0#标注甲中奖大小
  18.             
  19.     if yiJinE>yiTouZhuJinE:#判断乙有没有金额继续下轮
  20.         yiTouZhuDaXiao=random.randint(1,6)#生成乙方随机投注号码
  21.         if yiTouZhuDaXiao>=4:#判断乙投注大小
  22.             yiTouZhuDaXiao=1#标注乙中奖大小
  23.         else:
  24.             yiTouDaXiao=0#标注乙中奖大小
  25.     zhuangJiaDaXiao=random.randint(1,6)#生成随机庄家开奖大小
  26.     if zhuangJiaDaXiao>=4:#判断开大还是小
  27.         zhuangJiaDaXiao=1#标注庄家大小
  28.     else:
  29.         zhuangJiaDaXiao=0#标注庄家大小
  30.     if zhuangJiaDaXiao==jiaTouZhuDaXiao:#判断甲有没有中
  31.         JiajinE=JiajinE+JiaTouZhuJinE*2#计算甲赢了之后的可用金额
  32.         jiaZhuangJiaJinE=jiaZhuangJiaJinE-JiaTouZhuJinE#计算庄家输之后的金额
  33.         jiaShujinE=0#重设输掉的金额
  34.         JiaTouZhuJinE=10#下轮应该下注金额
  35.     else:
  36.         JiajinE=JiajinE-JiaTouZhuJinE#计算甲输了之后的可用金额
  37.         jiashujinE=jiaShujinE+JiaTouZhuJinE#输掉的金额
  38.         jiaZhuangJiaJinE=jiaZhuangJiaJinE+jiaShujinE#计算庄家赢之后的金额
  39.         jiaTouZhuJinE=jiaShujinE*2#下轮应该下注金额
  40.     if zhuangJiaDaXiao==yiTouZhuDaXiao:#判断乙有没有中
  41.         yiJinE=yiJinE+yiTouZhuJinE*2#计算乙赢了之后的可用金额
  42.         yiZhuangJiaJinE=yiZhuangJiaJinE-yiTouZhuJinE#计算庄家输之后的金额
  43.     else:
  44.         yiJinE=yiJinE-yiTouZhuJinE#计算乙输之后的可用金额
  45.         yiZhuangJiaJinE=yiZhuangJiaJinE+yiTouZhuJinE#计算庄家赢之后的金额
  46.     yiTouZhuJinE=10#重设乙的投注金额
  47. if jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000>0:
  48.     print('庄家盈利:',jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000)#庄家盈利金额
  49. else:
  50.      print('庄家亏损:',jiaZhuangJiaJinE+yiZhuangJiaJinE-2000000)
  51. print('甲方金额:',yiJinE)
  52. print('乙方金额:',JiajinE)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-31 08:54:25 | 显示全部楼层
支持支持
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-31 10:59:43 | 显示全部楼层
:smile
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-31 12:21:17 | 显示全部楼层
眼花了!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-31 20:12:06 | 显示全部楼层
叼叼叼,我自认为我做不到这么复杂的变量名~都记不住
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-31 20:12:41 | 显示全部楼层
果然耐心:lol::big
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-19 01:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表