开篇语
哪怕有空也不想做正事,所觉得最近Python有点不熟悉了,就操起我的Python,直接怼了一个打麻将的小程序。虽然目前还是没有Debug完,不过好歹还是有个能用的东西,至于GUI什么的,暂时做不到啦。先把代码存这儿吧。有兴趣玩玩的朋友可以直接复制下去看看bug在哪啊,我明天就要出发准备去学校了。还是玩玩即可,不要太认真了。
正文
代码如下:
def Check(Card,win,Double):
GetCard(Card)
if CheckIfPeng(Card):
Peng(Card,Double)
if CheckIfWin(Card,Double):
win=1
else:
OutputCard(Card)
def InputCard(Card):
card=Card
for i in range(1,14):
print("来吧,一支一支的输入你的牌,让我给你看看手气:\n 1-9代表一万到九万\n 21-29代表一条到九条\n 51-59代表一坨到九坨\n")
pai=input("第%s只\n"%i)
card.append(pai)
def GetCard(Card):
pai=input("抽牌吧,神奇的左手:")
Card.append(pai)
def CheckIfPeng(Card):
count=0
for i in range(1,14):
if Card[i]==Card[-1]:
count=count+1
if count>2:
return 1
else:
return 0
def Peng(Card,Double):
count=0
for i in range(1,14):
if Card[i]==Card[-1]:
count=count+1
if count>2:
if Card[i]==Card[-1]:
for i in range(1,count+1):
Double.append(Card[-1])
Card.pop(i)
def CheckIfWin(Card,Double):
count=0
shunzi=0
SortCard=sorted(Card)
for i in range(1,len(Card)+1):
if SortCard[i]==SortCard[i+1]:
count=count+1
if count==1:
for i in range(1,len(Card)+1):
if SortCard[i]==SortCard[i+1]:
SortCard.pop(i)
SortCard.pop(i)
for i in range(1,len(Double)+1):
if SortCard[2+3*i]-SortCard[0+3*i]==2:
shunzi=shunzi+1
if shunzi==len(Double):
return 1
def OutputCard(Card):
SortCard=Card.sort()
for i in range(1,len(Card)+1):
if SortCard[i+2]-SortCard[i]!=2:
if SortCard[i+1]-SortCard[i]!=1:
if SortCard[i+1]-SortCard[i]!=2:
if (SortCard[i]%10)<3:
Card.remove(SortCard[i])
def main():
Card=[]
win=0
Double=[]
InputCard(Card)
Check(Card,win,Double)
while win==0:
Check(Card,win)
if len(Card)%3!=1:
OutputCard(Card)
if len(Card)%3!=1:
OutputCard(Card)
if len(Card)%3!=1:
OutputCard(Card)
if win==1:
print("Congratulation! You are the winner")
main()
把我的一手牌输进去之后,出现的就是这个报错的,原因不太明白。而且我也没有debug的心了。少小离家老大回。~~~~
报错提示如下,烦请路过大神指正指正:
第13只
28
抽牌吧,神奇的左手:23
Traceback (most recent call last):
File "majiang.py", line 96, in <module>
main()
File "majiang.py", line 84, in main
Check(Card,win,Double)
File "majiang.py", line 7, in Check
if CheckIfWin(Card,Double):
File "majiang.py", line 55, in CheckIfWin
if SortCard[i]==SortCard[i+1]:
TypeError: 'NoneType' object is not subscriptable
结束语
这次回家天天撸代码,突然觉得在家也很好,尤其是家里的网速特别给力,看超清的B站也丝毫不卡,十分给力。心塞,总算理解他们那些不愿意回学校的人了 T_T
好鸡儿舍不得。不过,刚刚把票改签到晚一点的时候了,可以后天再启程去宁乡了~ ~~ ~~
【铁路客服】订单E319XXXXXXXX,张照博您已签2月9日Z138次18车4号长沙16:19开。 有没有一辆车的呀?
个人宣言
知识传递力量,技术无国界,文化改变生活!