函数单独在python shell中工作,但在调用另一个函数时不能工作吗?

时间:2016-10-08 07:29:55

标签: python list function python-3.x

我的一个功能问题是函数4。 这是它的代码:

def getSuit(n):
    suits = []
    if 1 <= n <= 13:
        suits.append("Spades")
        return suits
    if 14 <= n <= 26:
        suits.append("Hearts")
        return suits
    if 27 <= n <= 39:
        suits.append("Clubs")
        return suits
    if 40 <= n <= 52:
        suits.append("Diamonds")
        return suits

现在,如果我将它调用到shell中,该函数就像它一样工作:

>>>getSuit(51)
>>>["Diamonds"]

然而,我正在制作一个新功能,设置卡的价值,并调用功能4来获得卡的套装,但是当我调用该功能时,它只显示[&#34;黑桃&#34;]无论选择什么号码。

以下是功能5的代码:

def getCard(n):    
n = (n-1) % 13 + 1
deckValue = []
grabSuit = getSuit(n) # Called Function 4 here. <---
if n == 1:
    deckValue.append("Ace")
    return deckValue + grabSuit
if 2 <= n <= 10:
    deckValue.append(str(n))
    return deckValue + grabSuit
if n == 11:
    deckValue.append("Jack")
    return deckValue + grabSuit
if n == 12:
    deckValue.append("Queen")
    return deckValue + grabSuit
if n == 13:
    deckValue.append("King")
    return deckValue + grabSuit

所以现在当我将它调用到python shell时,这是我的输出:

>>>getCard(52)
>>> ["King", "Spades"]

它应该是:

>>>getCard(52)
>>>["King", "Diamonds"]

我只是没有正确调用函数变量,还是需要重写函数4?我似乎无法弄清楚为什么它不能展示其他套装,尽管它单独工作很好。

2 个答案:

答案 0 :(得分:1)

getCart n中,您在使用getSuit()之前更改n = (n-1) % 13 + 1 grabSuit = getSuit(n)

grabSuit = getSuit(n)
n = (n-1) % 13 + 1

更改订单

function scroll{
	var header = document.getElementById('header');
var ypos = window.pageYOffset;


if(ypos>600)
{
	header.style.opacity="0";
		

}
else{
	header.style.opacity="1";

}

window.addEventListener(scroll,"scroll");
}

答案 1 :(得分:-1)

def getCard(n):
grabSuit = getSuit(n) # Called Function 4 here. <--- Move to this line    
n = (n-1) % 13 + 1 
deckValue = []