- 01Setting up (what you'll need)
- 02Your first output (println)
- 03Using variables
- 04Branching (the if statement)
- 05Repeating (the for loop)
- 06Writing your own function
- 07Working with arrays
- 08Repeating (the while loop)
- 09Working with structs
- 10Error handling (try-catch)
- 11Sorting an array
- 12Recursive functions
- 13Using the handy built-in functions
- 14The basics of multiple dispatch
- 15The ternary operator
- 16Building a type hierarchy with abstract types
- 17Writing comments
- 18Logical operators (&&, ||, !)
- 19Constants (const)
- 20Splitting and joining strings (split and join)
- 21Writing nothing-safe code
- 22Searching an array (in)
- 23Transforming an array with map
- 24Two-dimensional arrays (tabular data)
- 25Creating your own exception type
- 26Default arguments
- 27Handling sets (data without duplicates) with Set
- 28Checking correctness (a first step towards testing)
- 29Higher-order functions (passing a function as an argument)
- 30Stacks and queues (the basics of data structures)
- 31The basics of type conversion (casting)
- 32An introduction to regular expressions (pattern matching)
- 33The binary search algorithm
- 34Building a Caesar cipher (a letter-shifting cipher)
- 35Understanding how bubble sort works
- 36Assembling and displaying a date
- 37Writing several tests together (multiple test cases)
- 38Speeding up calculation with memoization (caching)
- 39Normalizing strings (strip and case)
- 40Shallow copies versus deep copies
- 41The basics of enums
- 42Flattening an array
- 43Reversing a string and testing for a palindrome
- 44Pairing up two arrays (the zip operation)
- 45Rounding numbers (floor, ceil, round)
- 46Multi-line strings (triple quotes)
- 47Returning several values from a function
- 48Finding the GCD and LCM
- 49Formatting numbers (aligning digits and decimal places)
- 50Cleaning up with try / catch / finally
- 51Writing general functions with type parameters
- 52The basics of reading and writing files
- 53Generating random numbers
- 54Bitwise operations (AND, OR, XOR, shifts)
- 55Receiving command-line arguments
- 56Pausing for a set time (sleep)
- 57Watch out for floating-point error
- 58Reading a value from standard input
- 59FizzBuzz (the classic exercise)
- 60Testing whether a number is prime
- 61Set operations with Set (union, intersection, difference)
- 62Converting between bases (binary and hexadecimal)
- 63Checking that brackets match (an application of stacks)
- 64Testing whether two words are anagrams
- 65Testing whether a year is a leap year
- 66Converting temperatures (Celsius and Fahrenheit)
- 67Finding the prime factors
- 68[Project] Build a simple inventory system
Generating random numbers
This lesson covers generating random numbers with Julia's rand, with the aim of building things with a random element such as dice or rock-paper-scissors.
rand() picks values at random from a range or a collection. Use it for dice, lotteries, and the like — the result changes on every run.
The sample code picks a dice roll from 1 to 6 with rand(1:6) and one of Rock, Scissors, or Paper from an array with rand(choices). Note the consistency of the same rand() serving both a range and a collection.
A common early stumble is how many things rand() accepts. Its behaviour changes with what you pass — a range, an array, a type — so it is worth confirming you are using it as intended.
In professional work, this is indispensable wherever you want an unpredictable element — shuffling in a game, sampling in a simulation.
๐งช This site can't compile or run Julia directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
