import math
x = {"A": 42, "B": -3, "C": math.pi}
def dictValue(key: str) -> float:
return x[key]
print(sorted(x, reverse=True, key=dictValue))
['A', 'C', 'B']
!wget https://student.cs.uwaterloo.ca/~cs114/src/a-tale-of-two-cities.txt
cities = open("a-tale-of-two-cities.txt")
for line in cities:
print(line)
cities.close()
cities = open("a-tale-of-two-cities.txt")
for line in cities:
print(line.strip())
cities.close()
with open("a-tale-of-two-cities.txt") as cities:
for line in cities:
print(line.strip())
import typing
def distribution(lst: typing.Sequence) -> dict[typing.Any, int]:
r = {}
for val in lst:
if not (val in r):
r[val] = 0
r[val] = r[val] + 1
return r
def distributionChart(lst: typing.Sequence) -> None:
dist = distribution(lst)
for key in sorted(dist):
print(key, "*" * dist[key])
words: list[str] = []
with open("a-tale-of-two-cities.txt") as cities:
for line in cities:
words = words + line.strip().lower().split()
distributionChart(words)
with open("nino34.csv") as nino:
for line in nino:
print(line.strip().split(","))
import csv
sum = 0.0
ct = 0
with open("nino34.csv") as nino:
ninoCSV = csv.DictReader(nino)
for row in ninoCSV:
sum = sum + float(row["TOTAL"])
ct = ct + 1
print("Average is", (sum/ct))
Average is 26.906149614961517
def averageOf(l: list[float]) -> float:
sum = 0.0
for val in l:
sum = sum + val
return sum / len(l)
measurements: dict[int, list[float]] = {}
for m in range(1, 13):
measurements[m] = []
with open("nino34.csv") as nino:
ninoCSV = csv.DictReader(nino)
for row in ninoCSV:
measurements[int(row["MON"])].append(
float(row["TOTAL"])
)
averages = {}
for m in range(1, 13):
averages[m] = averageOf(measurements[m])
print(averages)
{1: 26.423421052631568, 2: 26.637631578947378, 3: 27.146973684210526, 4: 27.594342105263152, 5: 27.70052631578947, 6: 27.51947368421052, 7: 27.088157894736838, 8: 26.671973684210535, 9: 26.557894736842115, 10: 26.532266666666672, 11: 26.52293333333333, 12: 26.4624}
with open("nino34.csv") as nino:
ninoCSV = csv.DictReader(nino)
for row in ninoCSV:
for field in list(ninoCSV.fieldnames or []):
print(field, "is", row[field])