Programmering

Hjælp til at forstå Python programmeringen

31. marts 2021 af Oldtoft

Hej alle.

Er der nogen som kan forklare mig hvad der sker i nedenstående Python kodning, linje for linje?

_______________________________________________________________________________


def main(a):

next = str()

if a[0] == '*' and a[1] == '*':

next += '*'

for i in range(0, len(a)):

if a[i] == '*':

y = get(a, i-2) + get(a, i-1) + get(a, i+1) + get(a, i+2)

if y == 2 or y == 4:

next += '*'

else:

next += ' '

else:

y = get(a, i-2) + get(a, i-1) + get(a, i+1) + get(a, i+2)

if y == 2 or y == 3:

next += '*'

else:

next += ' '

if a[-1] == '*' and a[-2] == '*':

next += '*'

return next

def get(a, i):

if i < 0:

return 0

if i >= len(a):

return 0

c = a[i]

if c == '*':

return 1

else:

return 0

a = " ******"

print(a)

while '*' in a:

a = main(a)

print(a)
 

___________________________________

Løsninger er:


    ******

   ** ** **

  * * ** * *

  ********

 ** **** **

  * *    * *

   *      *
 

På forhånd tak for hjælpen


Brugbart svar (0)

Svar #1
31. marts 2021 af MandenMedMangeHatte

Din kode er absolut ulæselig hvis du ikke bruger ordentlig indrykning.

Og nej, der er ingen der gider at fortælle DIG hvad DIN kode gør linje for linje. Hvad tror du det er?


Skriv et svar til: Hjælp til at forstå Python programmeringen

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.