Archive

Posts Tagged ‘ahradwani.com’

Python: Coffee Consumption – P5

August 29, 2021 5 comments

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

[ IF THE IS FIRST TIME DOWNLOADING THE CODE FILE, SELECT OPTION 7 FROM MAIN-MENU TO CREATE THE DATABASE]


In this part (Part-5) of Coffee Consumption App, we will write all three Function to manage the Coffee Size (Mug Size).

  • Create Function: Add New Coffee Size.
  • Create Function: Edit a Coffee Size.
  • Create Function: Delete a Coffee Size.

Beginning with adding new Coffee Size, we will ask the user to enter a New Coffee Size, then we simply added to the databasde using SQL Insert command. … Here is the Code ..

python project sql coffee consumption code ali radwani


The second Function in this part is to Edit a selected Coffee Size, so we will list-down all Sizes we have in the database, the user will select one (ID) then we will ask to enter the new one and update the database. Here is the code..

python project sql coffee consumption code ali radwani

Last Function in this part will be to Delete a selected Coffee Size, so again we will list all Coffee Sizes we have and will ask the user to select the one to be Deleted, then we execute the SQL command to Delete the record from the database… here is the code..

python project sql coffee consumption code ali radwani




What’s Coming: In Part-6 we will Start writing the Main Function to Add a Record of Coffee Consumption using the lookup tables data.


..:: Have Fun with Coding ::.. 🙂


Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part – Part – Part – Part –


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Coffee Consumption – P4

August 26, 2021 6 comments

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

[ IF THE IS FIRST TIME DOWNLOADING THE CODE FILE, SELECT OPTION 7 FROM MAIN-MENU TO CREATE THE DATABASE]


In this part (Part-4) of Coffee Consumption App, we will write all three Function to manage the Coffee types.

  • Create Function: Add New Coffee Type.
  • Create Function: Edit a Coffee Type.
  • Create Function: Delete a Coffee Type.

Beginning with adding new Coffee Type, we will ask the user to enter a new Coffee Type, then we simply added to the databasde. … Here is the Code ..

python project code coffee consumption ali radwani



Tip: To Capitalize user input we are using one line code
# Capitalize user input
user_input = ” “.join([word.capitalize() for word in user_input.split(” “)])

The second Function in this part is to Edit a selected Coffee Type, so we will list-down all Types we have in the database, the user will select one (ID) then we will ask to enter the new one and update the database. Here is the code..

python project code coffee consumption ali radwani

Last Function in this part will be to Delete a selected Coffee Type, so again we will list all Coffee Types we have and will ask the user to select the one to be Deleted, then we execute the SQL command to Delete the record from the database… Here is the code..

python project code coffee consumption ali radwani




What’s Coming: In Part-5 we will do the Follwing:

Writing three Function to Manage the Coffee Size, Functions are: Add New Coffee Size, Edit Coffee Size and Delete a Coffee Size.


..:: Have Fun with Coding ::.. 🙂



::.Coffee Consumption Parts.::

Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part – Part – Part – Part –


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Nikon S9900 shot – 7

August 19, 2021 Leave a comment


Subject: Nikon S9900 – Fruit Basket Shot

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: A Fruit Basket, using Nikon S9900, camera in hand anu using normal room lights.

…Click Image to Enlarge…

Furit basket nikon S9900 camera by Ali radwani, sample image

Camera in Hand, F:…, ISO:…, Shutter:…



::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here




ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Coffee Consumption – P2

August 17, 2021 8 comments

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]


In this part (Part-2) of Coffee Consumption App, we will fill in some code into selected Functions. We will do the following:

  • Calling the Main-Menu Function.
  • Create header function.
  • Create the DataBase.
  • Create the Tables.
    • Insert the Zero records.
    • Insert data into Lookups Table.

So, let’s start with writing the main application body and calling the Main-Menu to trigger a Function based on the user selection. This section will be a calling the main_menu() in a while loop .. here is the code ..

# Main application body

while True :
    user_select = main_menu()

    if user_select == '1' :
        new_data() 

    if user_select == '2' :
        edit_record()

    if user_select == '3' :
        delete_record() 

    if user_select == '4' :
        #delete_record()
        pass 
        
    if user_select == '6' :
        c_name_type_size_manager() 
         
    if user_select == '7' :
        create_data_base()
    
    if user_select == '99' :
        input('\n\n   Thank you for using this Appliation. Press Enter.. > ')
        break



If we run the application now, we will see the main-menu but nothing will work because we still did not write any real Functions in the application.

Tables and Zero records:
Now we will write tha function to create the Tables and inserting the Zero record in each of them. All the codes will be in a function called: def create_data_base () : here are the name of the tables we will create:
coffee_con
coffee_name
coffee_type
coffee_size

and here is the full code in the function, in first part we will create the tables, second part will insert the zero record, last we will insert data in the lookup tables (coffee_name, coffee_type and coffee_size)

# def create_data_base () 

def create_data_base () :
    os.system('clear')
    
    line2 ="Create Data Base"
    header(line2,3,11)
    
    print('\n     All the data in the Data-Base will be removed, and can''t be retrieved. ')
    
    if input('\n     Press [Y] to Continue, anything else will Stop and Exite.  > ') not in ['y','Y'] :
        input('\n     You Select to stop and Exit. Press any Key .. >  ')
        return 
    
    # Part 1: CREATE TABLE:
    sql_coffee_con_t = "CREATE TABLE if not exists coffee_con (c_id INTEGER PRIMARY KEY AUTOINCREMENT, date_t,cn_id int, ct_id int, cs_id int, sex text, rank int )" 
    sql_coffee_name_t = "CREATE TABLE if not exists coffee_name (cn_id INTEGER PRIMARY KEY AUTOINCREMENT, c_name text )" 
    sql_coffee_type_t = "CREATE TABLE if not exists coffee_type (ct_id INTEGER PRIMARY KEY AUTOINCREMENT, c_type text )" 
    sql_coffee_size_t = "CREATE TABLE if not exists coffee_size (cs_id INTEGER PRIMARY KEY AUTOINCREMENT, c_size text )" 
    
    
    # Execute the commands
    c.execute(sql_coffee_con_t) 
    db_conn.commit() 
    c.execute(sql_coffee_name_t)
    db_conn.commit()
    c.execute(sql_coffee_type_t)
    db_conn.commit()
    c.execute(sql_coffee_size_t)
    db_conn.commit()
    
    
    # Part 2: Inserting ZERO records. 
    c.execute ("INSERT INTO coffee_con (date_t , cn_id, ct_id, cs_id, sex, rank) VALUES(:date_t , :cn_id, :ct_id, :cs_id, :sex, :rank)",{'date_t':'0' ,'cn_id' :0,'ct_id' :0,'cs_id' :0,'sex' :'0','rank' :0}) 
    db_conn.commit()
    c.execute ("INSERT INTO coffee_name (c_name) VALUES(:c_name )",{"c_name":'0'})         
    db_conn.commit() 
    c.execute ("INSERT INTO coffee_type (c_type) VALUES(:c_type )",{"c_type":'0'}) 
    db_conn.commit() 
    c.execute ("INSERT INTO coffee_size (c_size) VALUES(:c_size )",{"c_size":'0'}) 
    db_conn.commit() 
    
    
    
    # Part 3: Inserting Basic Information 
    coffee_Name_list = ['Black','Latte','Espresso','Americano','Cappuccino','Mocha', 
                     'Lungo', 'Flat white', 'Irish', 'Macchiato','Ristretto','Iced coffee']
        
    coffeeType_list = ['3n1' ,'Pods','Grounded']
    
    coffeeSize_list = ['Samll', 'Medium', 'Large', 'Venti']
    
    for each in coffeeName_list:
        c.execute ("INSERT INTO coffee_name (c_name) VALUES(:c_name )",{"c_name":each}) 
        db_conn.commit() 

    for each in coffeeType_list:
        c.execute ("INSERT INTO coffee_type (c_type) VALUES(:c_type )",{"c_type":each}) 
        db_conn.commit() 
    
    for each in coffeeSize_list:
        c.execute ("INSERT INTO coffee_size (c_size) VALUES(:c_size )",{"c_size":each}) 
        db_conn.commit() 

    input('\n\n     Data-Base Created, Basic Information Inserted. press any key to continue. > ')

[ The Full Code is Available in Download Page. ]

Last Function in this part is the header, it’s just a Title that will bee displayed in a box at the top of each page. Here is the code ..

# Header of the Application

def header(line2,b_l2,a_l2):
    os.system('clear')
    # The Project Name.
    line_1 = "Coffee Consumption"
    stars = 40 
    print('\n',' '*4,'*'*stars)
    print(' '*5,'***',' '*5,line_1,' '*7,'***')  
    print(' '*5,'***',' '*(stars - 8),'***')
    print(' '*5,'***',' '*b_l2,line2,' '*a_l2,'***')
    print(' '*5,'***',' '*(stars - 8),'***')
    print(' '*5,'*'* stars,'\n')


What’s Coming: In Part-3 we will do the Follwing:

  • Writing a function show_list.
  • Writing the function to Add New Coffee Name.
  • Writing the function to Edit a Coffee Name.
  • Writing the function to Delete a Coffee Name.


..:: Have Fun with Coding ::.. 🙂


Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part – Part – Part – Part –


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Nikon S9900 photo – 6

August 14, 2021 Leave a comment


Subject: Nikon S9900 Macro shot

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: A Close up shot on old antique classic numerals clock. using Nikon S9900.

ali radwani nikon s9900 sample photo photography
Camera in Hand, F:…, ISO:600, Shutter:…



.::.. To see all my Nikon S9900 Photos Click-Here
.::.. To see all my Nikon D7100 Photos Click-Here
.::.. To see all my Nikon D90 Photos Click-Here




ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Nikon S9900 shots – 2

August 10, 2021 Leave a comment


Subject: Nikon S9900 Cold Coffee shot

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: Cold Coffee, using Nikon S9900.


Camera in Hand, F: 3.7, ISO: 400, Shutter: 1/15s




ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Generate your Data-Set

August 8, 2021 1 comment

Learning : Python, pandas, function
Subject: Generate your CSV dataset using python

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

The Story:
last week i was reading about Data Cleaning, Deep Learning and Machine Learning, and for all we need some data to play with and testing our code. There are several sites providing a free (to certain limits) Data-set. But while i was working, it just come to my mind Why not to write a code to generate some Fake data-set.

Before I start:
The main question was “What is the subject of the data” or Data about What? This is the main question that will guide us to write our code, and tha answer was very..very fast 🙂 .. at that moment I was holding my Coffee Mug, and just jump to my mind, Data about Coffee … Coffee Consumption. So we are taking the data of Coffee Consumption from a Coffee-Shop, the coffee-shop is collecting the following data: Date-Time (of the order), Coffee-Name, Coffee-Type, Coffee-size, Sex, Rank. Here is in more details..

Dat-Time: Date and Time of Order, Date format: dd-mm-yyyy, the Time format: hh:mm (24h)

Coffee-Name: Such as: [black, latte, espresso, americano, cappuccino, mocha, lungo, flat white, irish, macchiato,ristretto, iced coffee]

Coffee-Type: 3n1 , pods, grounded

Coffee Size: samll, medium, large, venti  

Sex: The person how order it male, female 

Rank: if the customer drink the coffee in the shop, will ask for a ranks (1,10) 1:bad, 10:Grate

Scope of Work: We will write several functions to generate random data for each attribute we have, saving the data into a list, then combining all the lists in a pandas dataframe df and save the data_set df to a csv file. Later on we can re-call the file using pandas command df.read_csv(file_name) and manipulate the data.

.::.. Coding ..::.
Let’s start with Date-Time Function: def fake_date_time(from_y,to_y): In this function we will use a random.randint() to generate numbers for day’s, months and years, also for hours and minites. The function will take two arguments from_y, to_y and will return a string like this: dd-mm-yyyy hh:mm … here is the code ..

ali radwani python code project


Now,Coffee Name: def fake_coffee_name() : for Coffee Name I create a list of Coffee Names (from the net) and use random.choice(coffee_name_list) to select one from the list. this function is a one-line code .. here it is ..

 # fake_coffee_name() function

def fake_coffee_name() : 
    """
        Function to randomly select one from the list. 
        
        Return coffee_name 
        
     """ 
    
    coffee_name_list = ['black', 'latte', 'espresso', 'americano', 'cappuccino', 
                         'mocha', 'lungo', 'flat white', 'irish', 'macchiato', 'ristretto', 
                         'iced coffee'
                         ] 
    return random.choice(coffee_name_list) 



Here are another two Functions def fake_coffee_type(): and def fake_coffee_size(): Both are using the random.choice to select from a list.. here is the code ..

]ali radwani python code project



More over, in out dataset we need another two variables sex and rank, both are simple and we don’t need to put them in separate function, we will call the random.choice(‘f’,’m’) to select between Male and Female, and random.randint (1,11) to select a Rank between (1 and 10). Here is the main part of the application, we will use a for loop and append all the returns from the function’s in a list (a list for each attribute) after that we will combine all the list in a dataset using pandas command. Here is the code..

 # Main body of the application

# empty lists of the columns
d_d =[] 
cn_d =[] 
ct_d =[] 
cs_d =[] 
s_d =[] 
r_d = [] 

number_of_rows = 1000 

for x in range(1,number_of_rows): 
    d_d.append(fake_date_time(2000,2022)) 
    cn_d.append(fake_coffee_name()) 
    ct_d.append(fake_coffee_type()) 
    cs_d.append(fake_coffee_size()) 
    s_d.append(random.choice(['f','m'])) 
    r_d.append(random.randint (1,11)) 
    

the_data ={'date_time':d_d, 'c_name':cn_d, 'c_type':ct_d, 'c_size':cs_d, 'sex':s_d, 'rank':r_d } 

df = pd.DataFrame (the_data) 

# to create a CSV file and save the data in it. 
file_name = 'coffee_consumption_v1.csv'
df.to_csv(file_name, index=False)

print(f'\n\n    The data been generated, a file named: {file_name} saved')



Now we have a file called: coffee_consumption_v1.csv saved in the same directory of the .py code file. Here is a sample of the data.

ali radwani python code dataset



We will stop here, and we will do another post to apply pandas commands over the dataset.

..:: Have Fun with Coding ::.. 🙂


To Download my Python code (.py) files Click-Here
Also the Date-Set coffee_consumption_v1 file (.csv) files is available in the same page.



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

30 day of ML with Kaggle

August 4, 2021 Leave a comment

Last week during some search on YouTube, I fond a Two Minutes video talking about a new course on Kaggle that will start on 2nd of August, the Course is about Machine Learning ML with Python in a 30 Day’s. I was not sure if it is Free or Not, later on I fond that it is FREE, so I register to it.

And as a part of the program, we will complete three courses: PythonIntro to Machine Learning, and Intermediate Machine Learning.

My time is very tight, and I don’t know if I can continue to complete the required stages/assignments on time for each stage of the program.. Sure I will Try my best.

Now, I am writing this post in 3rd of August 2021, 6:00pm (GMT+3) .. First want to say they did not start on time, delay 1 day! so today was Day 1 , we start with introduction on Kaggle, the participate in first competition and submitting our solution.

I will try to summarize and drop a post every two-three days .. or so ..

:: Have Fun .. Code with Python ..::

Ali,

Another Sketch Challenge: T for Toucan

August 2, 2021 Leave a comment

There is a lot of sketching challeng in the twitter asking the readers to draw/sketch something inspired by it.
I fond the @AnimalAlphabets there challenge this week is Toucan Bird.

So here is my sketch using pencil then black Pen and shading using black fine pin, it takes around 55min. More Sketches on my Sketch page ..

you may Follow me on Twitter @h_ta3kees

Here is my sketch..
ali radwani sketch sketchbook bird

Python: Random Pixel Color – P2


Learning : Python, Math
Subject: Random Coloring Pixels

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

Our last post about Random Pixel Color, we generate a Numpy Array of Row, Coloum and color then we Plot it on the screen [Read the Post Here], now in this post we will use some Math consepts to try if we can get some patterns out of ramdom Function.
Our Tools: In this post we will use the following:
1. Jupyter-NoteBook.
2. numpy.
3. random.
4. matplotlib.
5. PIL or Pillow.

In this version we will use “Fibonacci Sequence” Fibonacci Sequence is the sum of the two preceding ones, starting from 0 and 1 such as [1, 1, 2, 3, 5, 8, 13 … n], in our code we will have three variables:
cw: canvas width,
ch: canvas hight,
offset: the offset will be the value that will reset the Fibonacci Sequence to 1.

So, if we run the application, we will generate three numbers that will present the colors R,G,B (Will be Generated ONE time) then for each pixcel in (cw*ch) we will calculate a v as Fibonacci Sequence from fs1 =1, fs2 = 1 here is the code:
v = fs1 + fs2
fs1,fs2 = fs2, v

this value v will be added to the colors r,g,b (on each pixcel) untill the v is grater the the offset numbre that we pass to the Function. If v > offset then we will re-set the fs1 = 1, fs2 = 1,.. Here is the Code ..

ali radwani ahradwani.com python code project draw color
Here are some Out-put

Run No.1python code project color pixcel ali radwani Run No.2
python code project color pixcel ali radwani
Run No.3
python code project color pixcel ali radwani
Run No.4
python code project color pixcel ali radwani


The above is just 25×25 and i change the offset, feel free to download the code and change the numbers .. see what you will get …

..:: Have Fun with Coding ::.. 🙂

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani