Nytt i Python 3.6 (det er ikke omtalt i lærebok eller Udacity-kurset)
Les om dette her:
planets = {
'Merkur': (3.2, 88),
'Venus': (6.0, 225),
'Tellus': (8.3, 365),
'Mars': (12.6, 687),
'Jupiter': (43.2, 4333),
'Saturn': (79.3, 10759),
'Uranus': (159.6, 30687),
'Neptun': (246.0, 60190)
}
# f-string, enkleste variant
for planet, data in planets.items():
linje = f"{planet}, {data[0]}, {data[1]}"
print(linje)
# f-string, med format-direktiver
for planet, data in planets.items():
formatert_linje = f"{planet:>10s} {data[0]:>8.2f} {data[1]:>6}"
print(formatert_linje)
{planet:>10s}
- variabelen planet skrives ut høyre-justert med 10 plasser - s angir string (men s kan også utelates)
{data[0]:>8.2f}
- element 0 i variabelen data skrives ut med over 8 plasser, herav to desimaler - f angir float
{data[1]:>6d}
- element 1 i variabelen data skrives ut med over 6 plasser - d angir int (men d kan også utelates)
# Eksempel fra forelesning (som vist)
sosi_file.write(".KURVE " + KURVE + ":" + "\n")
sosi_file.write("..OBJTYPE GeofLinjeInfo" + "\n")
sosi_file.write("..ID " + pel_ID + "\n")
sosi_file.write("..DATAFANGSTDATO "
+ DATAFANGSTDATO + "\n") # Fra riggrapport
sosi_file.write("..BORLENGDE " + BORLENGDE + "\n")
# Settes fast i begynnelsen av denne fila
sosi_file.write("..KVALITET " + KVALITET + "\n")
sosi_file.write("..NØH" + "\n")
sosi_file.write(N + " " + E + " " + H1 + "\n")
sosi_file.write(N + " " + E + " " + H2 + "\n")
# Samme program, men med f-strings:
sosi_objekt = (
f".KURVE {KURVE}:\n"
f"..OBJTYPE GeofLinjeInfo\n"
f"..ID {pel_ID}\n"
f"..DATAFANGSTDATO {DATAFANGSTDATO}\n" # Fra riggrapport
f"..BORLENGDE {BORLENGDE}\n"
f"..KVALITET {KVALITET}\n" # Fast verdi for alle objekter
f"..NØH\n"
f"{N} {E} {H1}\n"
f"{N} {E} {H2}")
print(sosi_objekt, file=sosi_file)
Legg merke til: