In [3]:
with open("grades.dat",'r') as f:
    lines = f.read().splitlines()
transcripts = []
for line in lines:
    parts = line.split(':')
    name = parts[0]
    courses = []
    for part in parts[1:]:
        components = part.split(',')
        course = components[0]
        credits = int(components[1])
        grade = components[2]
        courses.append((course,credits,grade))
    transcripts.append((name,courses))
print(transcripts)
#for transcript in transcripts:
#    print(transcript)
[('Jones', [('1301', 4, 'A'), ('1302', 4, 'B'), ('2720', 3, 'A')]), ('Smith', [('1301', 4, 'C'), ('1302', 4, 'D')]), ('Alice', [('2720', 3, 'A'), ('4710', 4, 'B')])]
In [5]:
def student_gpas(transcripts):
    gpas = []
    grade_points = {'A':4,'B':3,'C':2,'D':1,'F':0}
    for transcript in transcripts:
        name = transcript[0]
        courses = transcript[1]
        total_points = 0
        total_credits = 0
        for course, credits, grade in courses:
            total_points += grade_points.get(grade,0)*int(credits)
            total_credits += int(credits)
        gpa = total_points / total_credits 
        gpas.append((name,round(gpa,2)))
    return gpas

gpas = student_gpas(transcripts)
print(gpas)
[('Jones', 3.64), ('Smith', 1.5), ('Alice', 3.43)]
In [2]:
with open("grades.dat",'r') as f:
    lines = f.read().splitlines()
for line in lines:
    parts = line.split(':')
    print(parts)
['Jones', '1301,4,A', '1302,4,B', '2720,3,A']
['Smith', '1301,4,C', '1302,4,D']
['Alice', '2720,3,A', '4710,4,B']
In [7]:
xs = []
xs.append(10)
xs.append(20)
xs.append(30)
print(xs)
[10, 20, 30]
In [ ]:
import glob
import sys

def read_data(folder_name):
    fnames = sorted(glob.glob(folder_name+"/*.dat"))
    ...
    ...
    
bills = read_data(sys.argv[1]+"/*.dat")
print(bills)
In [ ]:
folder_name = "myfolder"
n = folder_name+"/*.dat"
print(n)
folder_name /*.dat
In [12]:
5/2
Out[12]:
2.5
In [13]:
5//2
Out[13]:
2
In [14]:
5%2
Out[14]:
1
In [15]:
13//5
Out[15]:
2
In [16]:
13%5
Out[16]:
3
In [17]:
13/5
Out[17]:
2.6
In [20]:
"PETER"[1]
Out[20]:
'E'
In [21]:
"Peter" + "Jones"
Out[21]:
'PeterJones'
In [22]:
"Peter"[1:]
Out[22]:
'eter'
In [26]:
name = "Peter"
name[1:]
name = "Raj"
name[1:]
name = name + "is here"
print(name)
Rajis here
In [ ]: