functions
Table of Contents
Functions
- Today I will do a lesson on functions.
Note: This lesson might even be skipped, given that pyhang does not require functions.
Functions
- What is a function?
- Benefits of functions?
- How are functions used?
- How to make a function (see examples below)
Part 1: What's a function? Making functions
Start Code
Show this to the students. Does it work? What do we need to do?
x = 5 y = 3 a = add(x, y) s = sub(x. y) m = mul(x, y) d = div(x, y) print(a, s, m, d)
Mid Code
Writing the four functions
End Code
adding idiv(), irem()
Part 2: Refactoring a rot13 program
Start Code
We start here, and the journey is to refine the code and learn about functions as we move towards the end code.
a = "hello"
for c in a:
i = ord(c)
# upper case
if i >= 65 and i <= 90:
i = i + 13
if i > 90:
i = i - 26
# lower case
if i >= 96 and i <= 122:
i = i + 13
if i > 122:
i = i - 26
print(b, end='')
End Code
def main():
a = input("Enter the code: ")
while a != "end":
print(rot13(a))
print("")
a = input("Enter the next code: ")
def rot13(a):
r = ""
for c in a:
r += rot13_letter(c)
return r
def rot13_letter(c):
i = ord(c)
# capital letters
if is_letter(c):
i = i + 13
if not is_letter(chr(i)):
i = i - 26
return chr(i)
def is_letter(c):
i = ord(c)
if i >=65 and i <= 90:
return True
elif i >= 96 and i <= 122:
return True
else:
return False
if __name__ == '__main__':
main()
Part 3: 3n+1 example
Now the students must do things on their own.
Start Code
n = 10
while n > 1:
if n % 2 == 0:
# Even
n = n // 2
else:
# Odd
n = 3 * n + 1
print(str(n))
if __name__ == '__main__':
main()
End Code
def main():
n = input("Please enter a number: ")
n = int(n)
c = 0
print("Start: " + str(n), end = '')
while n > 1:
print(', ', end = '')
c = c + 1
if c % 10 == 0:
print("")
if n % 2 == 0:
n = n // 2 # Even
else:
n = 3 * n + 1 # Odd
print(str(n), end = '')
print(".")
print(f"There were {c} numbers.")
if __name__ == '__main__':
main()
functions.txt · Last modified: 2024/10/20 07:45 by appledog
