top of page
learn_data_science.jpg

Data Scientist Program

 

Free Online Data Science Training for Complete Beginners.
 


No prior coding knowledge required!

Bill Splitter

Writer: aya abdalsalamaya abdalsalam

Eating With Your Friends is a beautiful Thing going and playing with them give you a power of the day and make you happy, but the bill is the big problem😂

So why not make small app that take one of your Friends randomly and make he or she the victim of the bill why not

Let's play🤝


import random 
class BillSplitter:
    def __init__(self):
        self.size = 0
        self.freinds = {}
    
    def check_numberOfFreinds(self):
        print("Enter the number of friends joining (including you):")
        self.size = int(input())
        if self.size <=0:
            print("No one is joining for the party")
        else:
            print("Enter the name of every friend (including you), each on a new line:")
            for i in range(self.size):
                x = input()
                self.freinds[x]= 0
            print()
            billValue = int(input("Enter the total bill value:"))
            print()
            luck = input('Do you want to use the "Who is lucky?" feature? Write Yes/No:\n')
            print()
            if luck == "Yes":
                name = random.choice(list(self.freinds.keys()))
                print(name +" is the lucky one!")
                for key, value in self.freinds.items():
                    if key == name:
                        self.freinds.update({key: 0})
                        
                everyOneValue = round(billValue/(self.size - 1), 2)
                for key, value in self.freinds.items():
                    if key != name:
                        self.freinds.update({key: everyOneValue})
                print(self.freinds)
                print()
            elif luck == "No":
                print("No one is going to be lucky")
                everSplitteryOneValue = round(billValue/self.size,2)
                for key, value in self.freinds.items():
                    self.freinds.update({key: everSplitteryOneValue})
                print(self.freinds)
BillSplitter().check_numberOfFreinds()

output:

case 1: use Luck method

Enter the number of friends joining (including you):
2
Enter the name of every friend (including you), each on a new line:
aya
waleed

Enter the total bill value:300

Do you want to use the "Who is lucky?" feature? Write Yes/No:
Yes

aya is the lucky one!
{'aya': 0, 'waleed': 300.0}


case 2: luck =No

Enter the number of friends joining (including you):
2
Enter the name of every friend (including you), each on a new line:
aya
waledd

Enter the total bill value:400

Do you want to use the "Who is lucky?" feature? Write Yes/No:
No

No one is going to be lucky
{'aya': 200.0, 'waledd': 200.0}

let's discuss our app one part by one

First import random

we make a class BillSplitter which is the father of the project . To create a class we use the keyword class

Every class should has the __init__() method

The __init__() function is called automatically every time the class is being used to create a new object. The Self keyword refer to class variables and you can call it anything to need but self is the most.

we make a dictionary freinds to add to it every name of friends


 
 

Comments


COURSES, PROGRAMS & CERTIFICATIONS

 

Advanced Business Analytics Specialization

Applied Data Science with Python (University of Michigan)

Data Analyst Professional Certificate (IBM)

Data Science Professional Certificate (IBM)

Data Science Specialization (John Hopkins University)

Data Science with Python Certification Training 

Data Scientist Career Path

Data Scientist Nano Degree Program

Data Scientist Program

Deep Learning Specialization

Machine Learning Course (Andrew Ng @ Stanford)

Machine Learning, Data Science and Deep Learning

Machine Learning Specialization (University of Washington)

Master Python for Data Science

Mathematics for Machine Learning (Imperial College London)

Programming with Python

Python for Everybody Specialization (University of Michigan)

Python Machine Learning Certification Training

Reinforcement Learning Specialization (University of Alberta)

Join our mailing list

Data Insight participates in affiliate programs and may sometimes get a commission through purchases made through our links without any additional cost to our visitors.

bottom of page