Aardrijkskunde

Les 3: Data inlezen

vandaag gaan we leren

 

  • Datatype van uitgelezen tekst omzetten in getallen

  • Alle data voor onze aardbevingen op een bruikbare manier inlezen

Weet jij het nog?

Vorige les hebben we geleerd: hoe we tekst kunnen uitlezen uit een bestand, en hoe we deze tekst netjes kunnen laten ophakken in stukjes.

Wat wordt aangegeven met de magnitude?

 

Weet jij het nog?

Weet jij het nog?

regel_1 was: '1/2/65,13:44:18,19.246,145.616,Earthquake,131.6,6'

De magnitude is het laatste cijfertje! Waar in excel een streepje staat, staat in python een komma.

 

We hebben geleerd

hoe we zorgen dat we

precies dat stukje

kunnen inlezen!

 

 

demo

WEET JIJ HET NOG?

regel_1 = data[0]


opgehakte_regel_1 = regel_1.split(',')


De waarde van opgehakte_regel_1 is: 
['1/2/65', '13:44:18', '19.246', '145.616', 'Earthquake', '131.6', '6']


lijst_van_regel_1 = regel_1.split(',') 

#magnitude staat op positie 6 in de lijst(tellen vanaf 0)
magnitude = lijst_van_regel_1[6]

werkblad

"even opfrissen"

Aan de slag

Ons Geheugen is weer opgefrist, nu verder!

Datatype omzetten

Er is nog maar één probleempje met onze code.

 

Kijk eens goed naar de magnitude als we uitprinten wat voor type de magnitude is

 

 

demo

Datatype omzetten

De computer zegt dat het cijfertje 6 een 'string' is.

 

Waarom is dit gek?

 

Of eigenlijk.. waarom is dit nu onhandig?

 

De magnitude is: 
6
Het type van de magnitude is: 
<type 'str'>

Datatype omzetten

De computer zegt dat het cijfertje 6 een 'string' is.

 

Waarom is dit gek?

 

Of eigenlijk.. waarom is dit nu onhandig?

 

Wie weet er nog wat string betekent?

 

De magnitude is: 
6
Het type van de magnitude is: 
<type 'str'>

Datatype omzetten

 

Een Integer is een cijfer, iets waar de computer mee kan rekenen, net zoals de cijfers op een rekenmachine.

 

 

 

De magnitude is: 
6
Het type van de magnitude is: 
<type 'str'>

Datatype omzetten

 

Een Integer is een cijfer, iets waar de computer mee kan rekenen, net zoals de cijfers op een rekenmachine.

 

Nu denkt de computer dus dat de 6 een String is, en weet hij nog niet dat wij er graag mee willen rekenen.

 

 

De magnitude is: 
6
Het type van de magnitude is: 
<type 'str'>

Datatype omzetten

Als wij nu willen gaan rekenen met de magnitude, gebeurt er namelijk iets geks...

 

 

('De magnitude is: ', '6')
De magnitude is: 
6
Het type van de magnitude is: 
<type 'str'>

demo

Datatype omzetten

Python geeft een 'TypeError'. Hij geeft aan dat hij niet weet wat hij moet doen als je een Integer (de 5) bij een String wilt optellen (de '6')

 

We moeten van de String '6' dus een Integer 6 gaan maken!

 

De tekst moet omgezet worden naar een getal

TypeError: cannot concatenate 'str' and 'int' objects

demo

Datatype omzetten

De functie float() zet een String om naar een getal, mits er in die String cijfers staan!

 

 

 

 

Als je 5 bij de magnitude van 6 optelt krijg je
11.0

Datatype omzetten

De functie float() zet een String om naar een getal, mits er in die String cijfers staan!

 

Float betekent kommagetal in het Pythons. Misschien dacht je wel aan het gebruiken van int().

 

 

 

Als je 5 bij de magnitude van 6 optelt krijg je
11.0

Datatype omzetten

De functie float() zet een String om naar een getal, mits er in die String cijfers staan!

 

Float betekent kommagetal in het Pythons. Misschien dacht je wel aan het gebruiken van int().

 

Dat klopt wel, maar dan zou het alleen werken voor hele getallen, en sommige magnitudes hebben komma getallen! Zoals 5.8, dus daarom werken wij voor de zekerheid met float.
Dan gaat het altijd goed!

Als je 5 bij de magnitude van 6 optelt krijg je
11.0

werkblad "Van een String naar een Float"

Aan de slag

Weer even klassikaal

zodadelijk op de computer...

Repl Forken

We hebben weer wat bijzondere code nodig om onze opdrachten mee te maken. Deze staat voor je klaar op:

https://repl.it/@LisaVanDerPlas/CSC-M3-L2B

Klik op fork om deze code te kopieren naar je eigen project.

 

 

 

 

 

Repl Forken

https://repl.it/@LisaVanDerPlas/CSC-M3-L2B

 

Pas daarna de naam aan naar de naam van je opdracht.

 

 

 

 

 

opdrachten deel b

Basis:

  • Specifieke data inlezen in Python
  • De magnitude van de de eerste regel inlezen en het datatype omzetten
  • De latitude, longtitude en magnitude datatypes omzetten en uitprinten
  • Rekenen met de ingelezen waardes

 

Extra:

  • Nieuwsbericht maken met je data

vandaag hebben we geleerd

afsluiting

 

  • Datatype van uitgelezen tekst omzetten

  • Alle data voor onze aardbevingen op een bruikbare manier inlezen

CS Certificate - Module Aardrijkskunde - Les 3

By VHTO

CS Certificate - Module Aardrijkskunde - Les 3

Computer Science Certificate is een initiatief van VHTO in samenwerking met Universiteit Leiden en wordt mogelijk gemaakt door Salesforce.org.

  • 887