Big idea 3!
Lesson on Big Idea 3 which includes expressions, strings, psuedocode, and more!
- 3.3 Expressions(Show video 1 and 3)
- Challenge
- 3.4 Strings(Show video 1)
- Challenge
- Stuck?
- Have any questions?
Sequencing Practice: the code below does not follow the intended steps below. change the code so that it does so.
- divide value1 by 10(value1 = 5)
- multiply 2 from the result of the step 1
- subtract 4 from the result of the step 2
- print the result of step 3
value1 = 5
value2 = value1 / 10 #step 1
value3 = value2 * 2 #step 2
value4 = value3 - 4 #step 3
print(value4)
Selection/Iteration Practice: Create a function to print ONLY the numbers of numlist that are divisble by 3.
Hint: use the MOD operator (a % b) to find the remainder when a is divided by b.
numlist = "3","4","9","76","891"
for num in numlist:
if int(num) % 3 == 0:
print( num + " is divisible by 3")
continue
else:
continue
Homework/Binary Adaptation: Create a python function that will convert a decimal number 1-255 to binary using mathematical operations and powers of 2. Challenge: add frontend with javascript or html.
def convert(num):
numOfBinary = 8
binary = [];
output = ""
for i in range(numOfBinary):
binary.append((2**(numOfBinary - 1 - i)))
for i in range(len(binary)):
if num - binary[i] >= 0:
num -= binary[i]
output += "1"
else:
output += "0"
print(output)
convert(25)
<p id="binary"></p>
<script>
let num = 25; // change 25 to binary
const numOfBinary = 8; // 8 bits (2^8 = 256, 256 possible numbers from 1-255)
const binary = [];
let output = ""
// add powers of 2 to the binary array
for (let i = 0; i < numOfBinary; i++) {
binary.push(2**(numOfBinary - 1 - i));
}
// subtract powers of 2 from num (value = 25) and add 0s or 1s to the binary string accordingly
for (let i = 0; i < binary.length; i++) {
if (num - binary[i] >= 0) {
num -= binary[i];
output += "1";
} else {
output += "0";
}
}
document.getElementById("binary").innerHTML = "Output" + String(output);
</script>
Vocab: fill in the blanks using the video
Index is a number representing a position, like a character's position in a string or a string's position in a list.
Concatenation is combining values together
Length is how long a particular value is. For example, in a string, the length is the number of characters.
A substring is a part of a string
What is psuedocode?
Pseudocode is writing out a program in plain language with keywords that are used to refer to common coding concepts.
Can you think of some benefits of using pseudocode prior to writing out the actual code?
- Choose an everyday activity
- Imagine that you are providing instructions for this activity to a person who has never done it before
- Challenge someone to do the steps you wrote out
Ex. Brushing Teeth
- Pick up your toothbrush
- Rinse toothbrush
- Pick up toothpaste
- Place toothpaste on the toothbrush
- Rinse toothbrush again
- Brush teeth in a circular motion
- Spit
- Wash mouth
- Rinse toothbrush
- You have brushed your teeth!
#the substring will have the characters including the index "start" to the character BEFORE the index "end"
#len(string) will print the length of string
string = "hellobye"
print(string[0:5])
print(string[5:8])
print(len(string))
Concatenation Practice: combine string1 and string2 to make string3, then print string3.
string1 = "computer"
string2 = "science"
string3 = string1 + string2
print(string3)
Homework/List Adaptation: create a function that prints the name of each string in the list and the string's length. Challenge: add frontend with javascript or html.
names = ["jaden","max","dylan","orlando"]
def length(list):
for name in names :
print(name)
print("Length of " + name + ": " + str(len(name)))
length(names)
<p id="list"></p>
<script>
const names = ["jaden", "max", "dylan", "orlando"];
for (name of names) {
document.getElementById("list").innerHTML += String(name) + "<br>" + "Length of " + String(name) + ": " + String(name.length) + "<br>";
}
</script>
Stuck?
- Check out what we did.