#python-3.x #function
#python-3.x #функция
Вопрос:
Я пишу код для игры, и во время моего тестирования функция players_list() продолжает цикл, даже если она вызывается только один раз. Код функции sixteen_is_dead(players) предназначен только для тестирования. Кто-нибудь может сказать мне, как решить эту проблему? Я хочу получить список из players_list() и запустить с ним sixteen_is_dead(игроки).
import random
def sixteen_is_dead(players):
if players[0][1] is True:
print("Player 1 is not a Human!")
def players_list():
players = []
player_count2 = 0
player_count = int(input("How many players are there?: "))
for x in range(0, player_count):
player_count2 = 1
player_name = input("What's the {}. players name?: ".format(player_count2))
player_is_bot = input("Is the {}. ? player a bot? J/N: ".format(player_count2))
if player_is_bot == "J":
is_bot = False
elif player_is_bot == "N":
is_bot = True
players.append((player_name, is_bot))
return players
players_list()
players = players_list()
print(players)
Комментарии:
1. Вы показали два вызова
players_list()
. В чем проблема?2. Возможно, я слеп, но где второй вызов? Одна находится ниже функций, а другая?
3.
players = players_list()
сразу после первого вызова4. Хм, проблема исчезла после того, как я удалил эту часть кода, но я подумал, что мне это нужно, чтобы получить игроков из функции и использовать ее в sixteen_is_dead(игроки). Я делаю это неправильно, и решение для этого другое?
5. Сама по себе
players_list()
вызывает функцию, но возвращает результат в ничто. Последнее верно, но вы также можете использоватьsixteen_is_dead(players_list())
Ответ №1:
Вы вызываете функцию 2 раза, вам просто нужно поместить:
players= players_list()
print(players)