TypeError: объект 'str' не вызывается при попытке использовать python swampy - PullRequest
0 голосов
/ 10 ноября 2019
from swampy.TurtleWorld import *
import random

world = TurtleWorld()
Turtle_1 = Turtle()

print('*****Welcome to Sehir Minesweeper*****')
print('-----First Turtle-----')

Turtle_1 = input('Please type the name of the first Turtle:')

print('Turtle 1 is' +' ' + Turtle_1)

T1_color = input('Please choose turtle color for' + ' ' + Turtle_1 +' '+'(red, blue or green):')

Turtle_1.color(T1_color)

Ответы [ 2 ]

1 голос
/ 10 ноября 2019

Вы создали Turtle_1 как Turtle объект, что является правильным. Затем, однако, со строкой Turtle_1 = input('Please...') вы устанавливаете Turtle_1 в строку, так как input() возвращает строку. Когда вы попытались вызвать метод color(), это не сработало, поскольку строки не имеют такого метода. Кроме того, у черепах также есть метод set_color() для установки цвета, а color является атрибутом и не может быть вызван.

1 голос
/ 10 ноября 2019

Это попытка вызвать строку. Ошибка, которая приводит к TypeError: 'str' object is not callable.

Turtle_1.color(T1_color)

color, является строковым свойством Turtle. Чтобы установить цвет, используйте:

Turtle_1.set_color(T1_color)

Что совпадает с:

Turtle_1.color = T1_color
Turtle_1.redraw()
...