Diferença entre os codigos

1. Diferença entre os codigos

Beatriz Liz
Frantichenka

(usa Manjaro Linux)

Enviado em 16/11/2021 - 23:18h

Por favor alguém poderia me explicar a diferença entre esses dois códigos?

while True:
try:
a = input()
b = 0
for i in range(len(a)):
if(a[i] == '('):
b += 1
elif(a[i] == ')'):
b -= 1
if(b < 0):
break
if(b != 0):
print('incorrect')
else:
print('correct')

except EOFError:
break



while True:
try:
List1 = input()
List2 = []
correct = False
P1 = 0
P2 = 0
for v in List1:
if (v == '('):
P1 += 1
List2.append(v)
if (v == ')'):
P2 += 1
List2.append(v)
if(len(List2) % 2 != 0):
correct = False
else:
if(List2[0] == ')'):
correct = False
else:
if (List2[len(List2) - 1] == '('):
correct = False
else:
if (P1 != P2):
correct = False
else:
correct = True
if(correct):
print("correct")
else:
print("incorrect")
except (EOFError):
break








  


2. Re: Diferença entre os codigos

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 17/11/2021 - 08:29h


Mais fácil encontrar as semelhanças


3. Re: Diferença entre os codigos

Somit Vishwakarma
somit

(usa Outra)

Enviado em 20/11/2021 - 05:04h

I might have helped you, but I've just started learning.


4. Re: Diferença entre os codigos

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 20/11/2021 - 12:50h


Frantichenka escreveu:

Por favor alguém poderia me explicar a diferença entre esses dois códigos?

while True:
try:
a = input()
b = 0
for i in range(len(a)):
if(a[i] == '('):
b += 1
elif(a[i] == ')'):
b -= 1
if(b < 0):
break
if(b != 0):
print('incorrect')
else:
print('correct')

except EOFError:
break



while True:
try:
List1 = input()
List2 = []
correct = False
P1 = 0
P2 = 0
for v in List1:
if (v == '('):
P1 += 1
List2.append(v)
if (v == ')'):
P2 += 1
List2.append(v)
if(len(List2) % 2 != 0):
correct = False
else:
if(List2[0] == ')'):
correct = False
else:
if (List2[len(List2) - 1] == '('):
correct = False
else:
if (P1 != P2):
correct = False
else:
correct = True
if(correct):
print("correct")
else:
print("incorrect")
except (EOFError):
break


A diferença básica entre um código e o outro é que um verifica se os parenteses estão bem formado sem usar um vetor (lista) de elementos, enquanto que o segundo usa uma lista de elementos que vai sendo preenchida conforme verifica se tá bem formado ou não os parênteses.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts