Kylieeee Ответов: 2

Как мне написать эту программу


Yeah, so, so far i have got a basic program running. I need some help with this and would appreciate it. So i need the finall numbers of each animal to add up to 10 ( the same as the iterations). How would I do this?
Here is my code.

from random import *

PUMA = 0
SNAKE = 1
HAWK = 2

survivalofthefittest = [[0, -1, 1], [1, 0, -1], [-1, 1, 0]]

n = int(input("Number of iterations:"))

animal1=0
animal2=0
nDraws=0

population = 10* [PUMA] +10*[SNAKE] +10*[HAWK]

# Needs to be while loop

for _ in range(n):
    animal1=choice(population)
    animal2= choice(population)

    value = survivalofthefittest[animal1][animal2]

    if value>0:
        animal1 += 1
    elif value <0:
        animal2 +=1
    else:
        nDraws +=1

print (f"Number of hawks = {HAWK}, Number of pumas = {PUMA}, Number of snakes = {SNAKE}")

# Final Numbers of Animals should equal 10


Что я уже пробовал:

from random import *

PUMA = 0
SNAKE = 1
HAWK = 2

survivalofthefittest = [[0, -1, 1], [1, 0, -1], [-1, 1, 0]]

n = int(input("Number of iterations:"))

animal1=0
animal2=0
nDraws=0

population = 10* [PUMA] +10*[SNAKE] +10*[HAWK]

# Needs to be while loop

for _ in range(n):
    animal1=choice(population)
    animal2= choice(population)

    value = survivalofthefittest[animal1][animal2]

    if value>0:
        animal1 += 1
    elif value <0:
        animal2 +=1
    else:
        nDraws +=1

print (f"Number of hawks = {HAWK}, Number of pumas = {PUMA}, Number of snakes = {SNAKE}")

# Final Numbers of Animals should equal 10

2 Ответов

Рейтинг:
1

Patrice T

Цитата:
Я должен написать программу для этого вопроса

Да, именно так: вы должны написать программу, а не мы.
Вы сделали связь с классической игрой, и это приятно, по крайней мере, вы понимаете, что вам нужно делать.
Поскольку ваше исследование не умоляет о том, чтобы мы делали программу, я боюсь, что вам придется написать программу самостоятельно.
Если у вас возникли проблемы, покажите свой код и объясните проблему, вы получите помощь в исправлении кода.
Совет: Научитесь пользоваться отладчиком, он поможет вам понять код, найденный в интернете, и исправить ваши коды.
-----
Ваш код ведет себя не так, как вы ожидаете, или вы не понимаете, почему !

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что должен делать ваш код, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]

27.3. ПДБ — отладчика Python — питон 3.6.1 документации[^]
Отладка в Python | Python покоряет Вселенную[^]
pdb – интерактивный отладчик - Python модуль недели[^]

Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.


Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Рейтинг:
1

Richard MacCutchan

Ваши вычисления добавляют значения к трем переменным animal1, animal2 и nDraws. Однако последний оператор в вашем коде выводит значения для HAWK, PUMA и SNAKE, которые не изменились по сравнению с их первоначальными Настройками.