Programmeren is lang geleden. Alleen klein beetje in pascal geprogrammeerd.
reeks = input()
for letter in reeks
if letter = '.'
zet =''
if letter != ' ' and != '.'
zet = zet + letter
if letter = " " and zet != ''
zetten.append(zet)
zet = ''
zetten.append(zet)
Hoe krijg ik invoer via de command line in de variabel reeks (string). Klopt de for lus die voor iedere letter in de reeks word uitgevoerd. De variabel zetten moet een list zijn waarin alle zetten op volgorde staan.
Is dit goede code?
Ik zou geen input() gebruiken, omdat je het dan als een python variabele moet ingeven, dus als een list of string. M.a.w. de gebruiker moet iets van python af weten. Je vergeet de : in het for statement, een standaard beginnersfout.
Als je het persee op die manier wilt doen, gebruik dan raw_input:
var = raw_input("Geef een lijst van zetten, gescheiden met een comma: ") # var wordt een enkele string
for zet in var.split(','): # splits var op in items, gebruik de , als delimiter
print "Dit was zet: ", var
edit: Vergeet mijn opmerking over raw_input als je python3 gebruikt, daar moet het blijkbaar wel input zijn. Ik programmeer in 2.7.
Volgens mij is het beter om de input via de commandline bij het starten van het script te geven. Je kunt hiervoor de sys module gebruiken:
#!/usr/bin/env python
import sys
arg = sys.argv[1:] # lees de parameters van de commandline uit, maar niet het eerste item want dat is de scriptnaam
for a in arg:
print "Dit was zet: ",a
Stel dat dit scripte opgeslagen is als test.py, dan gebruik je dat als volgt:
$ python test.py a b c d e
Dit was zet: a
Dit was zet: b
Dit was zet: c
Dit was zet: d
Dit was zet: e
Je ziet, hij heeft een list gemaakt van de parameters die je in de shell hebt meegegeven. Het loopje print die een-voor-een.
Parameters in een bashshell kun zijn woorden/tekens, gescheiden met een spatie. Wil je een zin of iets anders dat een spatie bevat als 1 gebruiken, moet je die tussen aanhalingstekens zetten.
Hopelijk helpt dit je.
Verder is een reeks van if -statements over het algemeen een slecht ontwerp idee. Dat moet anders kunnen denk ik. Maar daar mag je eerst zelf over denken