[informatica] python vraagstuk

Moderators: ArcherBarry, Fuzzwood

Reageer
Berichten: 13

[informatica] python vraagstuk

In bijlage vind je de opdracht. Ik snap niet goed waarom m'n code niet werkt. Ik heb al geprobeerd de 23 weg te laten, maar dan krijg ik enkel 'say hel'. Mijn code is:

x = str(input("geef de misterieuze slagan "))
#y luaeb h o dtyo aoosgl => 23
p = int(input("startpositie p in de slaogan "))
s = int(input("startpgrootte s in de slaogan "))

print(x[p::s])
Schermafbeelding 2020-10-17 om 19.31.53.png

Gebruikersavatar
Moderator
Berichten: 9.901

Re: [informatica] python vraagstuk

Leg eens uit wat print(x[p::s]) precies doet.
Ik neem aan dat p en s beide -3 zijn.

Ik begrijp verder niet wat je bedoelt met
Ik heb al geprobeerd de 23 weg te laten, maar dan krijg ik enkel 'say hel'
Wat krijg je nu dan?

Berichten: 13

Re: [informatica] python vraagstuk

Xilvo schreef: zo 18 okt 2020, 15:46 Leg eens uit wat print(x[p::s]) precies doet.
Ik neem aan dat p en s beide -3 zijn.

Ik begrijp verder niet wat je bedoelt met
Ik heb al geprobeerd de 23 weg te laten, maar dan krijg ik enkel 'say hel'
Wat krijg je nu dan?

s geeft de sprong dus telkens -3 en p de startpositie dus ook -3. Via dit wordt de code maar 1x uitgevoerd dus krijg ik enkel 'say hel' in plaats van de volledige zin en ik zou moeten vinden hoe hij dit blijft doen tot de zin volledig is, maar daar zit ik een beetje vast

en ja 23 was een foutje, heb ik al verwijderd uit mijn code, ik dacht dat dat een optie was, maar daar bereikte ik niets mee

Gebruikersavatar
Moderator
Berichten: 9.901

Re: [informatica] python vraagstuk

Je begrijpt dus wat print(x[p::s]) doet, en ook waarom het niet doet wat je wilt.
Als je eenmaal de letters doorlopen hebt, vanaf -3 met stap -3, dan is het afgelopen. Het begint niet opnieuw.

Je moet dus iets anders verzinnen. Er zijn veel mogelijkheden, maar ik weet niet wat je ondertussen van python kent.

Eén mogelijkheid is met een lus werken:

Code: Selecteer alles

index = -3
stap=-3
tekst=''
for k in range(10):
  tekst=tekst+x[index]
  index+=stap
Dit is een beginnetje. Je moet nu zorgen dat als de index buiten het bereik valt, hij weer "teruggezet" wordt (kijk naar het plaatje dat je plaatste!).

Die "10" in range() is ook zo maar een waarde, je moet zelf uitzoeken wat die echt moet zijn.

Berichten: 13

Re: [informatica] python vraagstuk

Xilvo schreef: zo 18 okt 2020, 17:46 Je begrijpt dus wat print(x[p::s]) doet, en ook waarom het niet doet wat je wilt.
Als je eenmaal de letters doorlopen hebt, vanaf -3 met stap -3, dan is het afgelopen. Het begint niet opnieuw.

Je moet dus iets anders verzinnen. Er zijn veel mogelijkheden, maar ik weet niet wat je ondertussen van python kent.

Eén mogelijkheid is met een lus werken:

Code: Selecteer alles

index = -3
stap=-3
tekst=''
for k in range(10):
  tekst=tekst+x[index]
  index+=stap
Dit is een beginnetje. Je moet nu zorgen dat als de index buiten het bereik valt, hij weer "teruggezet" wordt (kijk naar het plaatje dat je plaatste!).

Die "10" in range() is ook zo maar een waarde, je moet zelf uitzoeken wat die echt moet zijn.
Oke, super! Dankjewel voor de hulp ik zal nog wat verder proberen :)

Reageer