鱼C论坛

 找回密码
 立即注册
查看: 41|回复: 2

[Python] help!

[复制链接]
发表于 4 小时前 | 显示全部楼层 |阅读模式
2鱼币
Ti Qian Shuo Ming:dian nao shu ru fa chu le question,zhi neng yong pin yin.
yi wo de neng li zhi neng xie zhe me duo le,gui qiu zhi jiao
xia mian shi dai ma:
  1. """dou di zhu"""
  2. #ying ru sui ji
  3. import random
  4. #chuang jian 54 zhang pai
  5. a = '♦♥♣♠'
  6. b = list('123456789')+['10','11','12','13']
  7. c = []
  8. for ie in a:
  9.     for ei in b:
  10.         c.append(ie+ei)
  11. #da,xiao wang
  12. c.append('joker_s')
  13. c.append('joker_b')
  14. #xi pai han shu
  15. def fy_shuffle():
  16.     r = []
  17.     for e in range(len(c)):
  18.         s = c[random.randint(0,len(c)-1)]
  19.         r.append(s)
  20.         c.pop(c.index(s))
  21.     return r
  22. #xi pai
  23. c = fy_shuffle()
  24. #wan jia
  25. w = ["you","robot1","robot2"]
  26. #sui ji chou di zhu
  27. dizhunum = random.randint(0,2)
  28. #tian jia di zhu biao shi
  29. w[dizhunum]=w[dizhunum]+'(di zhu)'
  30. #shu chu
  31. print(w[dizhunum])
  32. #feng pai bing cun chu
  33. if dizhunum==0:
  34.     print(w[0],c[:20])
  35.     youpook=c[:20]
  36.     r1pook=c[20:37]
  37.     r2pook=c[37:]
  38. elif dizhunum==1:
  39.     print(w[0],c[:17])
  40.     youpook=c[:17]
  41.     r1pook=c[17:37]
  42.     r2pook=c[37:]
  43. else:
  44.     print(w[0],c[:17])
  45.     youpook=c[:17]
  46.     r1pook=c[17:34]
  47.     r2pook=c[34:]
  48. #pan duan shu yin han shu
  49. def winlose():
  50.     if youpook==[]:
  51.         print('you win!')
  52.     elif (r1pook==[]) or (r2pook)==[]:
  53.         print('you lose!')
  54.     else:
  55.         return None
  56. #ni chu pai han shu
  57. def youchu():
  58.     yp = input("chu pai:")
  59.     ypl = yp.split(',')
  60.     if ypl in youpook:
  61.         # 1 zhang
  62.         if len(ypl)==1:
  63.             print(f'single {ypl[0]}')
  64.             youpook.pop(youpook.index(ypl[0]))
  65.             #return 1/0 jiang pan duan zhu cheng xu zhong ni chu pai shi fou he fa,yi xia yi yang.
  66.             return 1
  67.         # 2 zhang
  68.         elif len(ypl)==2:
  69.             if ypl[0][1]==ypl[1][1]:
  70.                 # dui zi
  71.                 print(f'double {ypl[0][1]}')
  72.                 youpook.pop(youpook.index(ypl[0]))
  73.                 youpook.pop(youpook.index(ypl[1]))
  74.                 return 1
  75.             elif ypl[0]=='joker_s' and ypl[1]=='joker_b':
  76.                 #wang zha
  77.                 print('wang zha!!!!!!!!')
  78.                 return 1
  79.             else:
  80.                 print('chu pai bu he fa!')
  81.                 return 0
  82.         # 3 zhang
  83.         elif len(ypl)==3:
  84.             if int(ypl[0][1])==int(ypl[1][1])-1==int(ypl[2][1])-2:
  85.                 #lian zi
  86.                 print(f'lian zi{ypl}')
  87.                 youpook.pop(youpook.index(ypl[0]))
  88.                 youpook.pop(youpook.index(ypl[1]))
  89.                 youpook.pop(youpook.index(ypl[2]))
  90.                 return 1
  91.             elif ypl[0][1]==ypl[1][1]==ypl[2][1]:
  92.                 #san zhang
  93.                 print(f'trouble {ypl[0][1]}')
  94.                 youpook.pop(youpook.index(ypl[0]))
  95.                 youpook.pop(youpook.index(ypl[1]))
  96.                 youpook.pop(youpook.index(ypl[2]))
  97.                 return 1
  98.             else:
  99.                 print('chu pai bu he fa!')
  100.                 return 0
  101.         elif len(ypl)==4:
  102.             if ypl[0][1]==ypl[1][1]==ypl[2][1]==ypl[3][1]:
  103.                 # zha dan!
  104.                 print(f'Boom! {ypl}')
  105.                 youpook.pop(youpook.index(ypl[0]))
  106.                 youpook.pop(youpook.index(ypl[1]))
  107.                 youpook.pop(youpook.index(ypl[2]))
  108.                 youpook.pop(youpook.index(ypl[3]))
  109.                 return 1
  110.             elif int(ypl[0][1])==int(ypl[1][1])-1==int(ypl[2][1])-2==int(ypl[3][1])-3:
  111.                 #lian zi
  112.                 print(f'lian zi{ypl}')
  113.                 youpook.pop(youpook.index(ypl[0]))
  114.                 youpook.pop(youpook.index(ypl[1]))
  115.                 youpook.pop(youpook.index(ypl[2]))
  116.                 youpook.pop(youpook.index(ypl[3]))
  117.                 return 1
  118.             elif ypl[0][1]==ypl[1][1]==ypl[2][1]:
  119.                 #san dia yi
  120.                 print(f'three br one {ypl}')
  121.                 youpook.pop(youpook.index(ypl[0]))
  122.                 youpook.pop(youpook.index(ypl[1]))
  123.                 youpook.pop(youpook.index(ypl[2]))
  124.                 youpook.pop(youpook.index(ypl[3]))
  125.                 return 1
  126.             else:
  127.                 print('chu pai bu he fa!')
  128.                 return 0
  129.         elif len(ypl)==5:
  130.             if int(ypl[0][1])==int(ypl[1][1])-1==int(ypl[2][1])-2==int(ypl[3][1])-3==int(ypl[4][1])-4:
  131.                 #lian zi
  132.                 print(f'lian zi{ypl}')
  133.                 youpook.pop(youpook.index(ypl[0]))
  134.                 youpook.pop(youpook.index(ypl[1]))
  135.                 youpook.pop(youpook.index(ypl[2]))
  136.                 youpook.pop(youpook.index(ypl[3]))
  137.                 youpook.pop(youpook.index(ypl[4]))
  138.                 return 1
  139.             elif ypl[0][1]==ypl[1][1]==ypl[2][1] and ypl[3][1]==ypl[4][1]:
  140.                 #san dai er
  141.                 print(f"three br two {ypl}")
  142.                 youpook.pop(youpook.index(ypl[0]))
  143.                 youpook.pop(youpook.index(ypl[1]))
  144.                 youpook.pop(youpook.index(ypl[2]))
  145.                 youpook.pop(youpook.index(ypl[3]))
  146.                 youpook.pop(youpook.index(ypl[4]))
  147.                 return 1
  148.             else:
  149.                 print('chu pai bu he fa!')
  150.                 return 0
  151.         elif len(ypl)==6:
  152.             if int(ypl[0][1])==int(ypl[1][1])-1==int(ypl[2][1])-2==int(ypl[3][1])-3==int(ypl[4][1])-4==int(ypl[5][1])-5:
  153.                 #lian zi
  154.                 print(f'lian zi{ypl}')
  155.                 youpook.pop(youpook.index(ypl[0]))
  156.                 youpook.pop(youpook.index(ypl[1]))
  157.                 youpook.pop(youpook.index(ypl[2]))
  158.                 youpook.pop(youpook.index(ypl[3]))
  159.                 youpook.pop(youpook.index(ypl[4]))
  160.                 youpook.pop(youpook.index(ypl[5]))
  161.                 return 1
  162.             elif int(ypl[0][1])==int(ypl[1][1])==int(ypl[2][1])-1==int(ypl[3][1])-1==int(ypl[4][1])-2==int(ypl[5][1])-2:
  163.                 #dui zi lian
  164.                 print(f'double lian{ypl}')
  165.                 youpook.pop(youpook.index(ypl[0]))
  166.                 youpook.pop(youpook.index(ypl[1]))
  167.                 youpook.pop(youpook.index(ypl[2]))
  168.                 youpook.pop(youpook.index(ypl[3]))
  169.                 youpook.pop(youpook.index(ypl[4]))
  170.                 youpook.pop(youpook.index(ypl[5]))
  171.                 return 1
  172.             elif ypl[0][1]==ypl[1][1]==ypl[2][1]==ypl[3][1] and ypl[4][1]==ypl[5][1]:
  173.                 #si dai er
  174.                 print(f'four br two{ypl}')
  175.                 youpook.pop(youpook.index(ypl[0]))
  176.                 youpook.pop(youpook.index(ypl[1]))
  177.                 youpook.pop(youpook.index(ypl[2]))
  178.                 youpook.pop(youpook.index(ypl[3]))
  179.                 youpook.pop(youpook.index(ypl[4]))
  180.                 youpook.pop(youpook.index(ypl[5]))
  181.                 return 1
  182.             else:
  183.                 print('chu pai bu he fa!')
  184.                 return 0
  185.         else:
  186.             print('chu pai bu he fa!')
  187.             return 0         
  188.     else:
  189.         print('pai bu cun zai!')
  190.         return 0
  191. # :(  bu hui xie le,gui qiu Fish friend zhi jiao!  :)
复制代码

ling gan lai yuan yu--->
没鱼币了,卖个爬虫

爬!.zip

2.44 KB, 下载次数: 1

售价: 10 鱼币  [记录]  [购买]

没鱼币了,卖个爬虫

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层
本帖最后由 不二如是 于 2026-1-16 15:32 编辑

你现在一张牌是这样的字符串:

  1. '♠10'
  2. '♥3'
  3. 'joker_s'
复制代码

但你后面大量用了:

  1. ypl[0][1]
  2. int(ypl[0][1])
复制代码

这在逻辑上是不成立滴!

统一规则:

  • joker 单独处理
  • 普通牌:花色 + 点数
  • 点数 = 牌[1:]


参考:

  1. def get_num(card):
  2.     if card == 'joker_s':
  3.         return 16
  4.     if card == 'joker_b':
  5.         return 17
  6.     return int(card[1:])
复制代码

以后你所有判断都用:

  1. get_num(ypl[0])
复制代码


这一点不改,你后面 80% 判断都会错~~~

PS咱发中文就行,拼音看的太费劲了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 1 小时前 | 显示全部楼层
看的费劲的可以看我中译中翻译:
提前说明:电脑输入法出了question(问题),只能用拼音。
以我的能力 只能写这么多了,跪求指导
下面是代码:
  1. 斗地主
  2. 注释:引入随机
  3. 巴拉巴拉
复制代码

灵感来源于:
最后机灵的售卖鱼币
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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