Gör att ett program slutar köra när den får en fel input
Jag vill göra något liknande:
if type(newelement) != type("sträng"):
print("Kan bara hantera strängar, du gav en", type(newelement))
break
Tjaha, var kommer newelement ifrån och vilken typ har den?
Om du har läst in den med 'input' så är den alltid en sträng.
Det har jag inte tänkt på men min fråga var hur man får programmet att stanna?
Du kan använda exit(0), så avslutas programmet direkt.
Annars avslutas programmet om det når slutet på koden, så om du gör break ut ur alla loopar och låter anropade funktioner returnera så avslutas det.
Om du vill meddela till användaren att ett fel har uppstått, så är en annan statuskod än 0 bra, t.ex.exit(1).
Okej!
Jag kom på nåt annat, skulle lösningen assert 1==2 anses vara bad practice/osmart lösning?
Ja, verkligen.
Om du någonstans i programmet t.ex. har en variabel som borde ha en viss typ eller en lista som inte borde vara tom, men vill ta hand om fallet att det finns ett fel någon annanstans i programmet och sluta exekvera innan det blir allt konstigare konsekvenser, så kan du använda assert där.
Hmm... ja ok!