0% found this document useful (0 votes)
14 views11 pages

Lecture-0: "What's Your Name? " "Hello, World"

This document provides an introduction to basic programming concepts in Python, including functions, variables, comments, strings, integers, and floats. It explains how to use input, output, and perform operations while emphasizing code readability and the importance of handling user input correctly. Additionally, it covers creating custom functions and returning values from them, demonstrating practical examples throughout.

Uploaded by

sinkusomsagar10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views11 pages

Lecture-0: "What's Your Name? " "Hello, World"

This document provides an introduction to basic programming concepts in Python, including functions, variables, comments, strings, integers, and floats. It explains how to use input, output, and perform operations while emphasizing code readability and the importance of handling user input correctly. Additionally, it covers creating custom functions and returning values from them, demonstrating practical examples throughout.

Uploaded by

sinkusomsagar10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Lecture-0

19 March 2024 07:20

Function
○ Function are rule or actions that the computer or computer language will
already know how to perform.
○ The print function knows how to print to the terminal window.
○ The print function takes arguments. In the case, "Hello, world!" are the
argument that the Print function takes.

Variable
○ A variable is just a container for a value within your own program.

name = input("What's your name? ")


print("hello, world")

Comments
○ Comments are a way for programmers to track what they are doing in their
programs and even inform others about their intentions for a block of code. In
short, they are notes for yourself and others who will see your code.
# Ask the user for their name
name = input("What's your name? ")
print("hello,")
print(name)

String and Parameters


○ A string is known as a str in python.
○ It is a sequence of text.
# Ask the user for their name
name = input("What's your name? ")
print("hello,")
print(name)

○ Functions take arguments that influence their behaviour. If we look at the


documentation for print you’ll notice we can learn a lot about the arguments
that the print function takes.
○ learn a lot about the arguments that the print function takes.

New Section 1 Page 1



Looking at this documentation, you’ll learn that the print function automatically
includes a piece of code end='\n'. This \n indicates that the print function will
automatically create a line break when run. The print function takes an
argument called end` and the default is to create a new line.
○ we can technically provide an argument for end ourselves such that a new line
is not created!
○ We can modify our code as follows:

# Ask the user for their name


name = input("What's your name? ")
print("hello,", end="")
print(name)

By providing end="" we are overwriting the default value of end such that it never
creates a new line after this first print statement. Providing the name as “David”, the
output in the terminal window will be hello, David.

○ Probably the most elegant way to use strings would be as follows:


# Ask the user for their name
name = input("What's your name? ")
print(f"hello, {name}")

Notice the f in print(f"hello, {name}"). This f is a special indicator for Python to treat this
string a special way, different then previous approaches we have illustrated in this
lecture. Expect that you will be using this style of strings quite frequently in this course.

More on string
○ You should never expect your user to cooperate as intended. Therefore, you
will need to ensure that the input of your user is corrected or checked.
○ It turns out that built into strings is the ability to remove whitespace from a
string.
○ By utilising the method strip on name as name = name.strip(), will strip all the
whitespaces on the left and right of the users input. You can modify your code
to be:

# Ask the user for their name


name = input("What's your name? ")
# Remove whitespace from the str
name = name.strip()
# Print the output
print(f"hello, {name}")

New Section 1 Page 2


Rerunning this program, regardless of how many spaces you type before or after the
name, it will strip off all the whitespace.
○ Using the title method, it would title case the user’s name:

# Ask the user for their name


name = input("What's your name? ")
# Remove whitespace from the str
name = name.strip()
# Capitalise the first letter of each word
name = name.title()
# Print the output
print(f"hello, {name}")
○ By this point, you might be very tired of typing python repeatedly in the
terminal window. You cause use the up arrow of your keyboard to recall the
most recent terminal commands you have made.
○ Notice that you can modify your code to be more efficient:

# Ask the user for their name


name = input("What's your name? ")

# Remove whitespace from the str and capitalise the first letter of each word
name = name.strip().title()

# Print the output


print(f"hello, {name}")
This creates the same result as your previous code.

We could even go further!


# Ask the user for their name, remove whitespace from the str and capitalise the first
letter of each word

name = input("What's your name?").strip().title()

# Print the output

New Section 1 Page 3


print(f"hello, {name}")
○ You can learn more about strings in Python’s documentation on str

Integers or int
○ In Python, an integer is referred to as an int.
○ In the world of mathematics, we are familiar with +, -, *, /, and % operators.
That last operator % or modulo operator may not be very familiar to you.
○ You don’t have to use the text editor window in your compiler to run Python
code. Down in your terminal, you can run python alone. You will be presented
with >>> in the terminal window. You can then run live, interactive code. You
could type 1+1, and it will run that calculation. This mode will not commonly be
used during this course.
○ Opening up VS Code again, we can type code calculator.py in the terminal.
This will create a new file in which we will create our own calculator.
○ First, we can declare a few variables.
x=1
y=2
z=x+y
print(z)

Naturally, when we run python calculator.py we get the result in the terminal window of
3. We can make this more interactive using the input function.
x = input("What's x? ")
y = input("What's y? ")
z=x+y
print(z)
○ Running this program, we discover that the output is incorrect as 12. Why
might this be?
○ Prior, we have seen how the + sign concatenates two strings. Because your
input from your keyboard on your computer comes into the compiler as text, it
is treated as a string. We, therefore, need to convert this input from a string to
an integer. We can do so as follows:
x = input("What's x? ")
y = input("What's y? ")
z = int(x) + int(y)
print(z)

The result is now correct. The use of int(x) is called “casting,” where a value is
temporarily changed from one type of variable (in this case, a string) to another (here,
an integer).

New Section 1 Page 4


○ We can further improve our program as follows:
x = int(input("What's x? "))
y = int(input("What's y? "))
print(x + y)

This illustrates that you can run functions on functions. The inner function is run first,
and then the outer one is run. First, the input function is run. Then, the int function.
○ You can learn more in Python’s documentation of int.

Readability Wins
○ When deciding on your approach to a coding task, remember that one could
make a reasonable argument for many approaches to the same problem.
○ Regardless of what approach you take to a programming task, remember that
your code must be readable. You should use comments to give yourself and
others clues about what your code is doing. Further, you should create code in
a way that is readable.

Float Basics
○ A floating point value is a real number that has a decimal point in it, such as
0.52.
○ You can change your code to support floats as follows:

x = float(input("What's x? "))
y = float(input("What's y? "))
print(x + y)

This change allows your user to enter 1.2 and 3.4 to present a total of 4.6.
○ Let’s imagine, however, that you want to round the total to the nearest integer.
Looking at the Python documentation for round, you’ll see that the available
arguments are round(number[n, ndigits]). Those square brackets indicate that
something optional can be specified by the programmer. Therefore, you could
do round(n) to round a digit to its nearest integer. Alternatively, you could code
as follows:

# Get the user's input


x = float(input("What's x? "))
y = float(input("What's y? "))
# Create a rounded result
z = round(x + y)
# Print the result
New Section 1 Page 5
# Print the result
print(z)
The output will be rounded to the nearest integer.
○ What if we wanted to format the output of long numbers? For example, rather
than seeing 1000, you may wish to see 1,000. You could modify your code as
follows:
# Get the user's input
x = float(input("What's x? "))
y = float(input("What's y? "))

# Create a rounded result


z = round(x + y)

# Print the formatted result


print(f"{z:,}")

Though quite cryptic, that print(f"{z:,}") creates a scenario where the outputted z will
include commas where the result could look like 1,000 or 2,500.
More on Floats
○ How can we round floating point values? First, modify your code as follows:
# Get the user's input

x = float(input("What's x? "))

y = float(input("What's y? "))

# Calculate the result

z=x/y

# Print the result

print(z)

When inputting 2 as x and 3 as y, the result z is 0.6666666666, seemingly going on to


infinite as we might expect.
○ Let’s imagine that we want to round this down. We could modify our code as
follows:

New Section 1 Page 6


# Get the user's input

x = float(input("What's x? "))

y = float(input("What's y? "))

# Calculate the result and round

z = round(x / y, 2)

# Print the result

print(z)

As we might expect, this will round the result to the nearest two decimal points.
○ We could also use fstring to format the output as follows:
# Get the user's input

x = float(input("What's x? "))
y = float(input("What's y? "))

# Calculate the result


z=x/y

# Print the result


print(f"{z:.2f}")

This cryptic fstring code displays the same as our prior rounding strategy.
○ You can learn more in Python’s documentation of float.

Def
○ Wouldn’t it be nice to create our own functions?
○ Let’s bring back our final code of hello.py by typing code hello.py into the
terminal window. Your starting code should look as follows:

# Ask the user for their name, remove whitespace from the str and capitalise
the first letter of each word

name = input("What's your name? ").strip().title()

New Section 1 Page 7


# Print the output
print(f"hello, {name}")

We can better our code to create our own special function that says “hello” for us!
○ Erasing all our code in our text editor, let’s start from scratch:
name = input("What's your name? ")

hello()

print(name)

Attempting to run this code, your compiler will throw an error. After all, there is no
defined function for hello.
○ We can create our own function called hello as follows:
def hello():

print("hello")

name = input("What's your name? ")

hello()

print(name)

Notice that everything under def hello() is indented. Python is an indented language. It
uses indentation to understand what is part of the above function. Therefore,
everything in the hello function must be indented. When something is not indented, it
treats it as if it is not inside the hello function. Running python hello.py in the terminal
window, you’ll see that your output is not exactly as you may want.
○ We can further improve our code:

# Create our own function

def hello(to):

New Section 1 Page 8


print("hello,", to)

# Output using our own function

name = input("What's your name? ")

hello(name)

Here, in the first lines, you are creating your hello function. This time, however, you
are telling the compiler that this function takes a single parameter: a variable called to.
Therefore, when you call hello(name) the computer passes name into the hello
function as to. This is how we pass values into functions. Very useful! Running python
hello.py in the terminal window, you’ll see that the output is much closer to our ideal
presented earlier in this lecture.
○ We can change our code to add a default value to hello:

# Create our own function

def hello(to="world"):

print("hello,", to)

# Output using our own function

name = input("What's your name? ")

hello(name)

# Output without passing the expected arguments

hello()

New Section 1 Page 9


Test out your code yourself. Notice how the first hello will behave as you might expect,
and the second hello, which is not passed a value, will, by default, output hello, world.

○ We don’t have to have our function at the start of our program. We can move
it down, but we need to tell the compiler that we have a main function and a
separate hello function.

def main():

# Output using our own function

name = input("What's your name? ")

hello(name)

# Output without passing the expected arguments

hello()

# Create our own function

def hello(to="world"):

print("hello,", to)

This alone, however, will create an error of sorts. If we run python hello.py, nothing
happens! The reason for this is that nothing in this code is actually calling the main
function and bringing our program to life.
○ The following very small modification will call the main function and restore our
program to working order:

def main()
# Output using our own function
name = input("What's your name? ")

New Section 1 Page 10


name = input("What's your name? ")
hello(name)
# Output without passing the expected arguments
hello()
# Create our own function
def hello(to="world"):
print("hello,", to)
main()

Returning Values
○ You can imagine many scenarios where you don’t just want a function to
perform an action but also to return a value back to the main function. For
example, rather than simply printing the calculation of x + y, you may want a
function to return the value of this calculation back to another part of your
program. This “passing back” of a value we call a return value.
○ Returning to our calculator.py code by typing code calculator.py. Erase all
code there. Rework the code as follows:
def main():

x = int(input("What's x? "))

print("x squared is", square(x))


def square(n):

return n * n
main()
Effectively, x is passed to square. Then, the calculation of x * x is returned back to the
main function.

New Section 1 Page 11

You might also like