Blog: 2025-10-23
Jump to navigation
Jump to search
More #science ideas
- make a dam in a sandbox and flood it
- make an origami cube
- Solve a mystery: use clues like secret code, fingerprinting, evidence, invisible ink, use cup as amplifier
- phase changes: water, wax, butter??
- measure the wind
- design your own board game
- make a choose-your-own adventure book
- rubber band whirlygig
- what is matter made of - rocks, plants
- gyroscope
- gear ratios & mechanical advantage
- typewriter
- microscope
- models - how they are useful, limitations, make a model out of clay
- science safety - identify hazards, tell stories of famous science accidents
- make paper airplanes - careful with this one........
- paper boats
- send a message over a wire
- how do records work
- make a bridge out of popsickle sticks
- make a tunnel / arch out of popsickle sticks
- make an arch out of rocks
- catapult with rubber band
- waterwheel - translate force
- marble art & chaos theory - double pendulum or magnet pendulum
- morse code and light signals
- water making a wave - hold hands and feel the wave
- magnets - tiny flecks of metal demo
- splitting light into the rainbow using prism
- do a leaf pressing
- feedback
- estimate dollar amounts of coins by weight
- binary number system - state of all light switches
- hexadecimal number system
- stupid computer makes peanut butter sandwich
- space moon survival ranking activity
- science fair
- logic puzzles - one always lies, one always tells the truth, one always says yes, one always says no, one answers at random
- 20 questions
- binary search with a number between 1 and 10, 1 and 100, 1 and 1000: only takes 10 guesses
tomorrow --------- binary search I guess :)
import random
import math
high = 10000
secret = random.randint(1, high)
# secret = 99
seq = ''
rounds = math.ceil(math.log2(high))
print(f"Range is 1 to {high}")
for n in range(1, rounds + 1):
guess_input = input("Guess! ")
guess = int(guess_input)
if guess > secret:
print("too high!")
seq += '0'
elif guess < secret:
print("too low!")
seq += '1'
else:
print("win!")
seq += '1'
seq += (rounds - n) * '0'
break
print(seq)
print(int(seq, 2))