Il sito di Yahoo Answers verrà chiuso il 4 maggio 2021 (ora della costa est degli USA) e dal 20 aprile 2021 (ora della costa est degli USA) sarà in modalità di sola lettura. Non verranno apportate modifiche ad altre proprietà o servizi di Yahoo o al tuo account Yahoo. Puoi trovare maggiori informazioni sulla chiusura di Yahoo Answers e su come scaricare i tuoi dati in questa pagina di aiuto.
AIUTO URGENTE ESERCIZI PYTHON 10 PUNTI ALLA RISPOSTA MIGLIORE!?
Salve a tutti, sto cercando di svolgere un esercizio che non mi esce in nessun modo, vi invio la traccia e lo svolgimento.
Es. se l=[1,2,3,2,5,5,1,8,8,8,8,8], il programma stamperà 1 2 3 2 5 5 1 ( 8 8 8 8 8 ).
Qualcuno potrebbe aiutami a capire come va svolto l'esercizio? Domani ho una verifica e vorrei capire dove sto sbagliando.
i=0
contMax=0
while (i<len(l)-1):
if (i==len(l)-2):
if (l[i]==l[i+1]):
contTemp=2
if (contTemp>contMax):
contMax=contTemp
elementoRipetutoMax=l[i]
elif (l[i]==l[i+1]):
contTemp=1
i+=1
while (i!=len(l)-1) and (l[i]==l[i+1]):
contTemp+=1
i+=1
contTemp+=1
if (contTemp>contMax):
contMax=contTemp
elementoRipetutoMax=l[i]
i+=1
j=0
cond=False
while (j<len(l)-1):
if (l[j]==elementoRipetutoMax):
if (l[j-1]==elementoRipetutoMax):
print(l[j],end=" ")
if (j==len(l)-2) and (l[j+1]==elementoRipetutoMax):
print(l[j],l[j+1], end=" )")
break
elif (l[j+1]==elementoRipetutoMax) and (l[j-1]!=elementoRipetutoMax):
q=j
cont=1
while (l[q]==l[j]):
if (q==len(l)-2) and (l[q+1]==elementoRipetutoMax):
cont+=1
break
cont+=1
q+=1
if (cont==contMax):
cond=True
print("(", l[j], end=' ')
else:
if (j!=0) and (cond==True) and (l[j-1]==elementoRipetutoMax):
print(")", l[j], end=" ")
else:
print(l[j], end=' ')
j+=1
3 risposte
- 2 mesi fa
Non capisco cosa sia sbagliato, se il programma da l=[1,2,3,2,5,5,1,8,8,8,8,8] deve stampare 1 2 3 2 5 5 1 ( 8 8 8 8 8 ) è quello che fa (ovviamente la prima riga dello script deve essere l=[1,2,3,2,5,5,1,8,8,8,8,8], ma questo è ovvio)
Se invece intendevi che i nuemri uguali vicini devono essere fra parentesi non puoi fare così?
l = [1,2,3,2,5,5,1,8,8,8,8,8] #lista da inserire che nel tuo caso è [1,2,3,2,5,5,1,8,8,8,8,8]
l.append('elemento inutile')
quantità = int(len(l) - 1)
numero = 0
risultato = ''
try:
while True: #crea numero per numero la variabile risultato
if l[numero - 1] != l[numero] and l[numero + 1] == l[numero]:
risultato = risultato + '('+ str(l[numero])
elif l[numero - 1] == l[numero] and l[numero + 1] != l[numero]:
risultato = risultato + str(l[numero]) + ')'
else:
risultato = risultato + str(l[numero])
numero += 1
if numero < quantità: #stampare uno spazio fra ogni numero tranne l'ultimo
risultato = risultato + ' '
except: #dopo un tot di numeri il while True darà un errore out of index che noi "deviamo"
pass
print(risultato) #viene stampato a schermo il risultato