Programmering
Hjælp til at forstå Python programmeringen
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
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.