class Student:
def __init__(self,name,student_id,midterm,final):
self.name = name
self.student_id = student_id
self.midterm = midterm
self.final = final
def semester_grade(self):
# Final letter grade is based off the average of midterm and final
final_score = (self.midterm + self.final) / 2
if final_score >= 90:
return 'A'
elif final_score >= 80:
return 'B'
elif final_score >= 70:
return 'C'
elif final_score >= 60:
return 'D'
else:
return 'F'
# Begin main program
num_students = int(raw_input('Enter the number of students in the class: '))
student_list = list()
for i in range(0,num_students):
print 'Student #{}'.format(i+1)
name = raw_input('Name: ')
student_id = raw_input('Student ID: ')
midterm = float(raw_input('Midterm score: '))
final = float(raw_input('Final score: '))
a_student = Student(name,student_id,midterm,final)
student_list.append(a_student)
for a_student in student_list:
print '{} {} {}'.format(a_student.name,a_student.student_id,
a_student.semester_grade())
lab4-3
class Fraction:
def __init__(self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
self.caldenominator = denominator
self.calnumerator = numerator
def __str__(self):
return '{}/{}'.format(self.numerator,self.denominator)
def reduce(self):
quot, rem = divmod(self.caldenominator, self.calnumerator)
if rem == 0:
self.denominator = self.denominator / self.calnumerator
self.numerator = self.numerator / self.calnumerator
else:
self.caldenominator = self.calnumerator
self.calnumerator = rem
return self.reduce()
class Fraction():
def __init__(self,numerator,denominator):
self.numerator = numerator
self.denominator = denominator
def __str__(self):
return '{}/{}'.format(self.numerator,self.denominator)
def reduce(self):
a = self.numerator
b = self.denominator
while b:
a, b = b, a % b
self.numerator /= a
self.denominator /= a
return self
lab4-5 dice
import random
class PairOfDice:
def roll(self):
self.die1 = random.randint(1,6)
self.die2 = random.randint(1,6)
print self.die1,self.die2
def total(self):
return self.die1 + self.die2
# Write your class here
some_dice = PairOfDice()
count = 0
for i in range(0,1000):
some_dice.roll()
if some_dice.total() == 7:
count += 1
print '# of times you rolled a 7: {}'.format(count)
lab4-8
#answer
import random
class PairOfDice:
def __init__(self,player_name):
self.player_name = player_name
def roll(self):
self.die1 = random.randint(1,6)
self.die2 = random.randint(1,6)
def total(self):
return self.die1 + self.die2
class HighRoller:
def __init__(self):
self.players = list()
def add_player(self,name):
self.players.append(PairOfDice(name))
def roll_all(self):
for player in self.players:
player.roll()
def winner(self):
high_score = 0
winners = list()
for player in self.players:
if player.total() > high_score:
high_score = player.total()
for player in self.players:
if player.total() == high_score:
winners.append(player.player_name)
return winners
game = HighRoller()