Невозможно запустить самоопределяемую функцию из-за ошибки при определении объекта класса в предыдущем файле Python.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно запустить самоопределяемую функцию из-за ошибки при определении объекта класса в предыдущем файле Python.

Сообщение Anonymous »

Я пытаюсь запустить самоопределенную функцию, импортировав классы и методы из другого файла. Независимо от того, какие изменения я вношу в предыдущий файл, я продолжаю получать одно и то же сообщение об ошибке от pycharm. Кто-нибудь может мне помочь?
Фрагмент кода из первого файла:
import random
class Coin:
def __init__(self):
pass
def flip(self):
return random.choice(['heads', 'tails'])

class Dice:
def __init__(self):
pass
def roll(self):
return random.randint(1, 6)

class Player:
def __init__(self):
self.position = 0
def update_position(self, delta):
self.position += delta
def make_turn(self, coin, dice):
coin_toss = coin.flip()
dice_roll = dice.roll()
if coin_toss == 'heads':
movement = 1
else:
movement = -1
self.update_position(movement * dice_roll)

class Game:
def __init__(self, player, coin, dice):
self.player = player
self.coin = coin
self.dice = dice
pass
def play(self):
for i in range(20):
self.player.make_turn(self.coin, self.dice)
return self.player.position

Фрагмент из второго файла:
from randomwalk import Game

def startSimulation():
num_games = 100
position = 0
for i in range(num_games):
games = Game('Alex', 'heads', 3)
end_position = games.play()
position += end_position

average_position = position/num_games
print('Average position after'+ str(num_games)+ 'games(20 moves per game) is' + str(average_position))

startSimulation()

Сообщение об ошибке:
D:\Python\pythonProject\venv\Scripts\python.exe D:\Python\pythonProject\simulation.py
Traceback (most recent call last):
File "D:\Python\pythonProject\simulation.py", line 15, in
startSimulation()
File "D:\Python\pythonProject\simulation.py", line 9, in startSimulation
end_position = games.play()
^^^^^^^^^^^^
File "D:\Python\pythonProject\randomwalk.py", line 36, in play
self.player.make_turn(self.coin, self.dice)
^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'make_turn'

Process finished with exit code 1


Подробнее здесь: https://stackoverflow.com/questions/791 ... bject-in-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»