bbc-microbit: micropython AttributeError: у объекта 'str' нет атрибута 'partition' - PullRequest
0 голосов
/ 03 февраля 2019

На микробите Би-би-си я получаю эту ошибку, и я не знаю, почему:

AttributeError: 'str' object has no attribute 'partition'

при запуске этого кода:

uart.write('Received: "' + incoming + '"\n')
head, mid, tail = incoming.partition(' ')

входящая строка как можетбыть замеченным в консоли

MicroPython v1.9.2-34-gd64154c73 on 2017-09-01; micro:bit v1.0.1 with nRF51822
Type "help()" for more information.
>>> 
>>> Received: "buggy direction 2.16 1.2"
Traceback (most recent call last):
  File "__main__", line 122, in <module>
  File "__main__", line 25, in drive
AttributeError: 'str' object has no attribute 'partition' 

Есть идеи, что тут можно сделать?

1 Ответ

0 голосов
/ 05 февраля 2019

Класс строк микропифона BBC не имеет метода разбиения.Попробуйте использовать метод разделения.Строка "buggy direction 2.16 1.2" в вашем примере имеет четыре элемента.Попытка разделить это на три переменные head, mid, tail приведет к ошибке.

Вы можете получить доступ к первому и последнему элементу строки, используя приведенный ниже пример кода:

words = incoming.split(',')
head = words[0]
tail = words[-1]
print('head: {} tail: {}'.format(head, tail))
...