Один и тот же тип программ, выдающий различный вывод в Python - PullRequest
0 голосов
/ 02 мая 2020

Итак, у меня есть две похожие программы:

Программа-1:

n = int(input())
mylist = []
x=0
for i in range(n):
    t = input()
    if '++' in t:
        x+=1
    else:
        x-=1
print(x)

Программа-2:

n = int(input())
mylist = []
for i in range(n):
    mylist.append(input())
x=0
for x in range(n):
    if '++' in mylist[x]:
        x+=1
    elif '--' in mylist[x]:
        x-=1
print(x)

На входе:

2
--X
--X

Программа-1 печатает «-2», а Программа-2 печатает «0».
Я не могу найти причину этого изменения в выводе.

Спасибо за вашу помощь !
PS: Это мой первый вопрос на этом форуме, так что наведите меня, если я сделал что-то не так.

1 Ответ

0 голосов
/ 02 мая 2020

В программе 2 вы используете x в качестве управляющей переменной для l oop:

for x in range(n):

, одновременно используя ее для хранения накопленной суммы. Эти два использует конфликт. Измените имя переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...