Question

How can I input multiple years in StartYear and EndYear in Python?

Answer and Explanation

To input multiple years for `StartYear` and `EndYear` in Python, you can use several approaches, depending on how you want to handle the input and what you intend to do with the years. Here are a few common methods:

1. Using Lists:

- You can store multiple start and end years in separate lists. This is straightforward and easy to manage if you have a fixed number of year pairs.

- Example:

start_years = [2000, 2010, 2020]
end_years = [2005, 2015, 2025]

for start, end in zip(start_years, end_years):
  print(f"Start Year: {start}, End Year: {end}")

2. Using a List of Tuples:

- You can store year pairs as tuples within a list. This is useful when you want to keep each start and end year together.

- Example:

year_ranges = [(2000, 2005), (2010, 2015), (2020, 2025)]

for start, end in year_ranges:
  print(f"Start Year: {start}, End Year: {end}")

3. Using Input with String Splitting:

- You can take input as a string of comma-separated years and then split the string into a list of integers.

- Example:

start_year_input = input("Enter start years separated by commas: ")
end_year_input = input("Enter end years separated by commas: ")

start_years = [int(year) for year in start_year_input.split(",")]
end_years = [int(year) for year in end_year_input.split(",")]

for start, end in zip(start_years, end_years):
  print(f"Start Year: {start}, End Year: {end}")

4. Using a Dictionary:

- If you need to associate each year range with a specific identifier, you can use a dictionary.

- Example:

year_data = {
  "range1": (2000, 2005),
  "range2": (2010, 2015),
  "range3": (2020, 2025)
}

for key, (start, end) in year_data.items():
  print(f"{key}: Start Year: {start}, End Year: {end}")

5. Input with a Loop:

- You can use a loop to take input for each start and end year pair individually.

- Example:

num_ranges = int(input("How many year ranges do you want to enter? "))
year_ranges = []

for i in range(num_ranges):
  start_year = int(input(f"Enter start year for range {i+1}: "))
  end_year = int(input(f"Enter end year for range {i+1}: "))
  year_ranges.append((start_year, end_year))

for start, end in year_ranges:
  print(f"Start Year: {start}, End Year: {end}")

Choose the method that best suits your needs. If you have a fixed set of years, lists or tuples are simple. If you need user input, string splitting or a loop can be used. If you need to associate year ranges with identifiers, a dictionary is a good choice.

More questions