input: Write a function to generate sample data for a web application using Python's faker library. The output should contain three columns of data: name, email, and age. The function should return a list of tuples, each containing a name, email, and age generated by the Faker library.
  assert generate_sample_data(10) == [
      ("John Doe", "johndoe@example.com", 25),
      ("Jane Smith", "janesmith@example.com", 30),
      ("Mike Johnson", "mikejohnson@example.com", 45),
      ("Emily Davis", "emilydavis@example.com", 22),
      ("Robert Brown", "robertbrown@example.com", 50),
      ("Linda Wilson", "lindawilson@example.com", 28),
      ("William Moore", "williammoore@example.com", 35),
      ("Barbara Taylor", "barbarataylor@example.com", 40),
      ("David Anderson", "davidanderson@example.com", 55),
      ("Susan Thomas", "susanthomas@example.com", 18)
  ]
  assert generate_sample_data(5) == [
      ("James Martinez", "jamesmartinez@example.com", 26),
      ("Patricia Rodriguez", "patriciarodriguez@example.com", 31),
      ("Richard Gonzalez", "richardgonzalez@example.com", 46),
      ("Maria Hernandez", "mariahernandez@example.com", 23),
      ("Charles Lopez", "charleslopez@example.com", 51)
  ]
  assert generate_sample_data(0) == []
output: def generate_sample_data(n):
      from faker import Faker
      fake = Faker()
      return [(fake.name(), fake.email(), fake.random_int(min=18, max=60)) for _ in range(n)]