2016-04-18 8 views
1

У меня возникли проблемы с работой одной из моих функций в python. Код для моей функции ниже:NoneType Ошибка в Python при использовании Если условие

def checkBlackjack(value, pot, player, wager): 
    if (value == 21): 
     print("Congratulations!! Blackjack!!") 
     pot -= wager 
     player += wager 
     print ("The pot value is $", pot) 
     print ("Your remaining balance is $",player) 
     return (pot, player) 

вызов функции:

potValue, playerBalance = checkBlackjack(playerValue, potValue, playerBalance, wager) 

И ошибка я получаю:

potValue, playerBalance = checkBlackjack(playerValue, potValue, playerBalance, wager) 
TypeError: 'NoneType' object is not iterable 

Поскольку переговоры об ошибках, не будучи в состоянии итерации, я не уверен, как связать это с использованием условия if.

Любая помощь будет действительно оценена. Благодаря!

+1

Вы должны спросить себя, что произойдет, когда 'value' не' 21'. –

ответ

3

Вы только возвращение что-то, если условие в функции выполняется, в противном случае функция возвращает None по умолчанию и затем пытается распаковать None в два значения (переменные)

1

Вот MCVE для этот вопрос:

>>> a, b = None 
Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    a, b = None 
TypeError: 'NoneType' object is not iterable 

На данный момент проблема должна быть ясной. Если нет, в руководстве можно найти несколько заданий.

 Смежные вопросы

  • Нет связанных вопросов^_^