Solar System Output Challenge



Solar System Output Challenge
Solar System Output Challenge



Python Projects for Intermediate



As part of our Python projects for intermediate, the residential solar system calculator is a real python project to create a program that calculates the cost and output of a solar system.
If you are looking to install a solar panel system in your home or business, it is important that you understand the factors that affect the solar panel output and how to calculate the solar installation energy production. This Python challenge consists of writing a command line program (no GUI required) to calculate a residential solar system output (Kwh) based on multiple inputs such as irradiation data, solar panel types, number of panels and so on. You will have to write the engine of the apps many utility companies and websites offer online.

Project Description

– Import the data to carry out the calculations and request the user to enter certain inputs.
– Code all the predefined formulas and adapt them accordingly based on each user circumstances (location, house size, consumption, etc). You will have to create dictionaries and lists to store the variables. Write functions combined with loops, conditional statements and try/except blocks to calculate each variable of the different formulas. Finally, you will have to pack everything to calculate and print the final results so that the user knows if it is worth investing his money in the system.


Daniel Gunn is a software developer based in the UK. He holds a Computer Science degree, and he currently works as a freelance programmer specialized in Python.


After purchase, you will receive an email with a ZIP file.  The download is also available on your Practity account.
You will find the following files:

  1. INSTRUCTIONS: A PDF with the project description. It includes a description of how a residential solar system functions as well as links to the data sources. You will find information about the different components and variables that affect the output of a solar system, such as the formulas, the size of the solar panels, the amount of sunlight that hits the panels during different times of the day and year. etc.  A screenshot of the final outcome is also available so you can see how the program works.
  2. DATA:
    – csv files with the irradiation data.
    – Excel file with additional data necessary for the calculations.
    – A .py file with the source code (350 lines). The code provided in the solutions has been written by a senior developer, so it is clean and easy to understand. A great way to learn and adopt right habits to create quality software.
    – A PDF with detailed explanations of each chunk of code (14 pages). The instructor explains step by step what the code does and why.


Completing this Python project  will enhance your portfolio and demonstrate your ability to work on real-world applications. Employers highly value hands-on experience, and showcasing your proficiency in implementing real formulas and handling various program components will set you apart from other candidates.
The topics covered are:
– Conditional statements
– Loops (for) + enumerate
Read csv and Excel files
Errors and exceptions
Formatted String Literals (f-strings)
“__init__” method. See here for more information.


Python projects for intermediate students, like this solar system calculator, are an excellent opportunity to improve their coding skills and gain some knowledge about solar systems. It’s an exciting Python challenge that will test your abilities and push you to learn new things.The challenge is highly recommended for Python or data analysis students who have attended Python courses and feel comfortable with core Python concepts like loops, methods or functions definition. It is an excellent assignment to create real applications with Python.


It is a real Python project since the data and the formulas provided are real. You will build a program that  may be useful in the real life.
It is an excellent exercise to learn and get familiar with functional programming since you will you have to define multiple functions to make the program work.
Functional programming allows developers to write more concise, modular, and maintainable code. It is powerful paradigm that revolves around the concept of treating functions as first-class citizens. This means that functions can be assigned to variables, passed as arguments to other functions, and returned as values. This flexibility enables developers to build complex programs by composing smaller, reusable functions together.

Advantages of Functional Programming

There are several compelling reasons to consider using functional programming in programs and software:
Improved code quality: It is easier to read, test, and maintain. By emphasizing immutability, pure functions, and modular design, functional programming helps developers create more reliable and bug-free software.
Scalability and performance: It encourages the use of immutable data structures and higher-order functions, which can lead to more efficient and scalable code.
Flexibility and extensibility: Functional programming allows for easy composition and reuse of functions, making it easier to extend and modify existing code. This flexibility enables developers to quickly adapt their software to changing requirements and business needs.
If you need additional information, do not hesitate to contact us.



Additional information

Specification: Solar System Output Challenge

Time Estimate

2 Days

Python and Excel Projects for practice
Register New Account
Shopping cart