Как взять значение переменной из вложенной функции? Python

Мой первый вопрос по программированию здесь) Язык Python

Мне надо написать код так, когда в функции you_random_card() наступает ситуация выигрыша или проигрыша, то в более глобальный цикл while возвращалась значение more = False и цикл прерывался. Но ничего не переходит. Возможно, что эта функция локальная, поэтому значение не передаётся

КАК мне написать код, чтобы more передавался или что-то сделать другое?

Ниже предоставляю фрагмент кода, к которому относится данная ситуация.

 def you_random_card(): 
  """когда решаю добавить карту"""
  calculate_score(you_choose, you_sum)
  your_sum = sum(you_choose)
  if your_sum == 21:
    final_card()
    print ("Выйгрыш!")
    more = False
    return more

  elif your_sum > 21:
    final_card()
    print ("Ты проиграл!")
    more = False
    return more

  else: 
    out_cards()
    more = True
    return more


more = True
while more:
  want_continue = input("Хотите добавить карту? Нажми 'y' или 'n'")
  if want_continue == "y":
    you_random_card()
  else:
    result()
    more = False

PS Самый простой способ, что я сделал - это просто скопировать код из функции в цикл while, а эту функцию удалить, но это не решает вопрос. Хочу разобраться именно с этим подходом. Помогите пожалуйста!

Самый простой способ, но не решает вопрос:

more = True 
    
while more:
  want_continue = input("Хотите добавить карту? Нажми 'y' или 'n'")
  if want_continue == "y":
    # you_random_card()
    calculate_score(you_choose, you_sum)
    your_sum = sum(you_choose)
    if your_sum == 21:
      final_card()
      print ("Выйгрыш!")
      more = False

    elif your_sum > 21:
      final_card()
      print ("Ты проиграл!")
      more = False

    else: 
      out_cards()
  
  else:
    result()
    more = False

PPS Я ещё новичок


Ответы (2 шт):

Автор решения: BELEЦKIY

Проблема заключается в том, что функция you_random_card() возвращает значение, которое не сохраняется или не используется в вашем цикле while.

→ Ссылка
Автор решения: CrazyElf

Значение нужно не только возвращать из функции, но и принимать там, где функция вызвана:

more = you_random_card()
→ Ссылка