def inlezen_beginstation(stations):
	# deze variabele gebruiken om while loop te exiten
	ok = 0

	# uitvoeren totdat er een valdig station wordt ingevoerd
	while ok == 0:
		# vraag om input
		i_beginstation = input('beginstation?: ')

		# alle hoofdletters omzetten naar laag
		i_beginstation = i_beginstation.lower()

		# checken of het station bestaat
		if i_beginstation in stations:
			print('Beginstation is ' + i_beginstation)
			ok = 1
		else:
			print('Station ongeldig')

	return i_beginstation

def inlezen_eindstation(stations, beginstation):
	ok = 0

	while ok == 0:
		i_eindstation = input('eindstation?: ')

		i_eindstation = i_eindstation.lower()

		# je kan de functie exiten door exit of stop te typen
		if i_eindstation == 'exit' or i_eindstation == 'stop':
			return print('halted')

		# checken of het begin en eind station niet hetzelfde is
		if i_eindstation == beginstation:
			return print('Je kan lopen makker')

		if i_eindstation in stations:
			print('Eindstation is ' + i_eindstation)
			ok = 1
		else:
			print('Station is niet geldig')

	return i_eindstation

def omroepen_reis(stations, beginstation, eindstation):
	# positie van stations uit de lijst bepalen
	pos_begin = stations.index(beginstation)
	pos_eind = stations.index(eindstation)

	# verschil van stations berekenen, gebruiken van abs om ook in de andere richting te reizen
	verschil = abs(pos_eind - pos_begin)
	prijs = verschil * 5

	# als het begin station hoger licht dan eind(aka andere richting reizen)
	reverse = False
	if pos_begin > pos_eind:
		# een kopie lijst maken met de stations andersom
		stations_reverse = stations[::-1]
		# zelfde als hierboven maar om de traject later goed te laten zien
		pos_rev_begin = stations_reverse.index(beginstation)
		pos_rev_eind = stations_reverse.index(eindstation)
		reverse = True

	# heeft geen uitleg nodig toch?
	print("\nJe stapt in bij station " + stations[pos_begin])
	print("Je stapt uit bij station " + stations[pos_eind])
	print("Afstand bedraagd " + str(verschil) + " stations")
	print("De prijs van de reis gaat " + str(prijs) + " euro kosten")

	print("\nInstap: " + stations[pos_begin])

	# als je in de andere richting reist
	if reverse:
		# lijst itereren met alle tussenstations in de andere richting
		for i in stations_reverse[pos_rev_begin+1:pos_rev_eind]:
			print("- " + i)
	else:
		# zelfde als hierboven maar dan met de originele waarden(richting)
		for i in stations[pos_begin+1:pos_eind]:
			print("- " + i)

	print("Uitstap: " + stations[pos_eind])

	return True




stations = ['schagen', 'heerhugowaard', 'alkmaar', 'castricum', 'zaandam', 'amsterdam sloterdijk', 'amsterdam centraal', 'amsterdam amstel', 'utrecht centraal', "'s-hertogenbosch", 'eindhoven', 'weert', 'roermond', 'sittard', 'maastricht']
beginstation = inlezen_beginstation(stations)
eindstation = inlezen_eindstation(stations, beginstation)
omroepen_reis(stations, beginstation, eindstation)