What you'll build
Build a program that asks for GPA, English score, degree level, and target country, then prints which scholarships the user might qualify for.
Requirements
The must-do parts. If any are missing, we'll ask you to take another pass.
- Asks the user for GPA (float), English test score (int), degree level (str), and target country (str).
- Uses at least one
if/elif/elsechain that touches more than one variable. - Calls a function you wrote — not just inline code in
__main__. - Prints which broad category of scholarships the user might qualify for, plus two or three example names per category.
- Handles the case where the user types nonsense (e.g.
'B+'for GPA) without crashing.
Bonus, if you're feeling brave
- Add an optional 'research experience: yes/no' question and let it raise the tier.
- Print the result as a small table instead of three lines.
- Accept input from a CSV instead of
input().
Examples
What your program should look like when it runs. Lines starting with $ are typed by you; the rest is your program.
Example 1 — happy path
$ python eligibility.py
GPA (0.0–4.0): 3.7
English test score (0–120): 105
Degree level (BSc / MSc / PhD): MSc
Target country: Germany
You may qualify for:
· Competitive merit scholarships (DAAD, Fulbright)
· Country-specific programs (DAAD-EPOS)Example 2 — nonsense input
$ python eligibility.py
GPA (0.0–4.0): B+
That doesn't look like a number. Try again with something like 3.5.Where to start
Copy this scaffold into a new file. You don't have to use it — it's just a friendly nudge.
eligibility.py
def categorize(gpa: float, english: int, level: str, country: str) -> list[str]:
# TODO: return a list of category names this applicant fits
return []
if __name__ == "__main__":
# TODO: read inputs, call categorize(), print the result
passHow we'll grade it
Four checks, four points. Three or above is passing — we'll ask you to revise anything we can't tick.
| Check | What we look for | Pt |
|---|---|---|
| It runs | Starts cleanly on a fresh Python 3.11+, no missing imports. | 1 |
| Solves the problem | Does what the prompt asks — accepts the four inputs and prints categories. | 1 |
| Uses what we taught | Functions, conditionals, and at least one list or dict. | 1 |
| Reflection | Your note tells us one thing you learned or got stuck on. | 1 |