In [ ]:
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']
In [ ]:
!wget https://student.cs.uwaterloo.ca/~cs114/src/a-tale-of-two-cities.txt
In [ ]:
cities = open("a-tale-of-two-cities.txt")
for line in cities:
    print(line)
cities.close()
In [ ]:
cities = open("a-tale-of-two-cities.txt")
for line in cities:
    print(line.strip())
cities.close()
In [ ]:
with open("a-tale-of-two-cities.txt") as cities:
    for line in cities:
        print(line.strip())
In [ ]:
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)
In [ ]:
with open("nino34.csv") as nino:
    for line in nino:
        print(line.strip().split(","))
In [ ]:
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
In [ ]:
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}
In [ ]:
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])