Koodivinkissä etsitään numerojonoja, joissa pienet numerot on vasemmalla (0-4) ja suuret numerot oikealla (5-9). Kun numerojono on löydetty, tulostetaan kaikki ehtojen mukaiset numerojonot esim. 124024857 tulostetaan 124024857 ensimmäiseksi ja viimeiseksi 4857, eli otetaan vasemmalta pieniä numeroita pois. Numerojonossa täytyy olla alku ja loppu.
numerot = "97542213878950321995857224387328" alku = False loppu = False #Seuraavalla kahdella muuttujalla määritellään pienten numeroiden alku -ja #loppukohta alku_indeksi = 0 loppu_indeksi = 0 #Tulostetaan numerojonoja, joissa pienet numerot (0-4) #ovat vasemmalla ja suuret numerot (5-9) oikealla #Tehokkuuden takia käytetään vain yhtä silmukkaa. for x in range(0,len(numerot)): if (numerot[x] >= "0" and numerot[x] < "5"): if (alku == True and loppu == True): #Tulostetaan numerojono. #Numerojono päättyy, kun suuren numeron jälkeen tulee pieninumero for y in range(alku_indeksi,loppu_indeksi+1): print(numerot[y:x]) print("") alku = False loppu = False if (alku == False): #Pienen numeron alkuindeksi. alku_indeksi = x alku = True loppu_indeksi = x #siirretään loppuindeksiä niin kauan kunnes tulee suuri numero elif (numerot[x] >= "5" and numerot[x] <= "9"): #Jotta olisi loppu, tarvitaan myös alku. if (alku == True): loppu = True #Katsotaan jääkö vielä yksi numerojono. if (alku == True and loppu == True): for y in range(alku_indeksi,loppu_indeksi+1): print(numerot[y:len(numerot)]) print("") alku = False
Aihe on jo aika vanha, joten et voi enää vastata siihen.