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()


results matching ""

    No results matching ""