Попытка увеличить на 1 в python, но получаю сообщение об ошибке при объединении str и int - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь увеличить порядковые номера на 1 каждый клик, и объявил order = 1, а затем глобальную переменную. Я получаю сообщение об ошибке: TypeError: могу только объединить str (не "int") в str и не могу понять, почему. Это код той части, на которую я ссылаюсь:

for order in prodplan:
    order += 1

Есть идеи? спасибо !!

1 Ответ

0 голосов
/ 05 апреля 2020

и объявленный заказ = 1, а затем глобальная переменная

Это означает, что вы объявили заказ как целое число. Пожалуйста, исправьте меня, если я ошибаюсь; Я предполагаю, что вы сделали что-то вроде этого

order=1 #global scope
prodplan=["list of string values"]
for order in prodplan: #order defined again; local scope
     order += 1  # here the order is a string value, adding with integer will cause error

Так как python имеет область видимости глобальной переменной и область видимости; Ваша ошибка в объявлении порядка в двух местах создает путаницу для интерпретатора python. Правильный путь может быть

order=1
prodplan=["list of string values"]
for i in prodplan:
     order += 1  # here the order is a int value, adding with integer will be fine

, таким образом, вы можете получить желаемое количество кликов.

...