Python Forum

Full Version: Showing error
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
def buying(self):
        while self.price> 0:
            try:
                print ("Items you are buying:\n")
                if self.internet_connection:
                    print ("{} \t {}\n".format(self.get_name('internet_connection'), self.get_price('internet_connection')))   
                if self.phone_lines > 0:
                    print ("{}x{} \t {}\n".format(self.phone_lines, self.get_name('phone_line'),self.get_price('phone_line')*self.phone_lines))
                if len(self.cell_phones) > 0:
                    for cell_phone in self.cell_phones:
                        print ("1x{} \t {}\n".format(self.get_name(cell_phone),self.get_price(cell_phone))
                print("Total price \t: {} DKK\n".format(self.price))  
            except ValueError:
                print("Oops!!!!! You did not select anything")
what error do you get? Post the full traceback in error tags. Obviously we are not able to run the code as is (just one class method)
price_list = {
    'internet_connection': {
        'name': 'Internet Connection',
        'price': 200,
        'regularity': 'monthly'
    },
    'phone_line': {
        'name': 'Phone Line',
        'price': 150,
        'regularity': 'monthly'
    },
    'motorola_G99': {
        'name': 'Motorola G99',
        'price': 800,
        'regularity': 'once'
    },
    'iphone_99': {
        'name': 'iPhone 99',
        'price': 6000,
        'regularity': 'once'
    },
    'samsung_galaxy_99': {
        'name': 'Samsung Galaxy 99',
        'price': 1000,
        'regularity': 'once'
    },
    'sony_xperia_99': {
        'name': 'Sony Xperia 99',
        'price': 900,
        'regularity': 'once'
    },
    'huawei_99': {
        'name': 'Huawei 99',
        'price': 900,
        'regularity': 'once'
    },
}


class Purchase():
    internet_connection = False
    phone_lines = 0
    cell_phones = []
    price = 0

    def get_price(self, service_name):
        service = price_list.get(service_name)
        return service['price']

    def get_name(self, service_name):
        service = price_list.get(service_name)
        return service['name']

    def in_ex_internet_conn(self):
        
        if  not self.internet_connection:
            self.price += self.get_price('internet_connection')
            self.internet_connection = True
        else:
            self.price -= self.get_price('internet_connection')
            self.internet_connection = False

        print( "Price: \t {}\n".format(self.price))
        return self.price
        

    def increment_phn_line(self):
        if (self.phone_lines < 8):
            self.phone_lines += 1
            self.price += self.get_price('phone_line')
        else:
            print ("Can not take more than 8 lines!!!!!")

        print( "Price: \t {}\n".format(self.price))
        return self.price

    def decrementing_phn_line(self):
        if (self.phone_lines > 0):
            self.phone_lines -= 1
            self.price -= self.get_price('phone_line')
        else:
            print ("No more decrement!!!!!")

        print( "Price: \t {}\n".format(self.price))
        return self.price        

    def select_cell_phn(self, phn_model):
        #if phn_model not in self.cell_phones:
        self.cell_phones.append(phn_model)
        self.price += self.get_price(phn_model)
        print( "Price: \t {}\n".format(self.price))
        return self.price

    def unselect_cell_phn(self, phn_model):
        if phn_model in self.cell_phones:
            self.cell_phones.remove(phn_model)
            self.price -= self.get_price(phn_model)
        else:
            print ("There is no phone to remove")

        print( "Price: \t {}\n".format(self.price))
        return self.price

    def buying(self):
        while self.price> 0:
            try:
                print ("Items you are buying:\n")
                if self.internet_connection:
                    print ("{} \t {}\n".format(self.get_name('internet_connection'), self.get_price('internet_connection')))   
                if self.phone_lines > 0:
                    print ("{}x{} \t {}\n".format(self.phone_lines, self.get_name('phone_line'),self.get_price('phone_line')*self.phone_lines))
                if len(self.cell_phones) > 0:
                    for cell_phone in self.cell_phones:
                        print ("1x{} \t {}\n".format(self.get_name(cell_phone),self.get_price(cell_phone))
                print("Total price \t: {} DKK\n".format(self.price))  
            except ValueError:
                print("Oops!!!!! You did not select anything")

    

   



pur1 = Purchase()

pur1.buying()

pur1.in_ex_internet_conn()
pur1.increment_phn_line()
pur1.increment_phn_line()
pur1.increment_phn_line()
pur1.increment_phn_line()
pur1.increment_phn_line()
pur1.increment_phn_line()
pur1.increment_phn_line()
pur1.increment_phn_line()
pur1.increment_phn_line()

pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()
pur1.decrementing_phn_line()

pur1.select_cell_phn("motorola_G99")
pur1.buying()
You have missing closing bracket on line #114.

Please, when have a traceback, post full traceback in error tags:

Error:
File "foo.py", line 115 print("Total price \t: {} DKK\n".format(self.price)) ^ SyntaxError: invalid syntax
Also post code in python tags

See BBcode help for more info.