← Back

Home β€Ί Problems β€Ί Function returning nothing

Function returning nothing

🧠 Predict the output Topic: functions Difficulty: easy Free

What this problem practises

Function bugs are mostly about names and values: positional argument order, default parameters evaluated once at definition time, local versus global scope, and the implicit None returned whenever a function has no return.

This is an output-prediction problem: read the snippet carefully and write down exactly what it prints before anything runs. These questions are interview staples because they test whether you know the language rules, or merely recognise their syntax.

Difficulty: easy β€” the fix or the trick is normally a single line, and a careful read should be enough.

The challenge

The code runs in PyDebug’s in-browser compiler. Open the problem, run the snippet, watch the exact error or output, and keep iterating until it is right. Signed-in solves count toward XP and your daily streak.

The snippet

The interactive editor pre-fills exactly this code β€” read it, then submit your prediction:

def greet(name):
    print(f"Hi {name}")

result = greet("Zoya")
print(result)

Understand the rule

A function without a return statement β€” or one whose return sits in a branch that didn't execute β€” hands back None. print(add(2, 3)) can therefore print None even though the function computed 5 internally and printed nothing wrong. Predicting these snippets means separating what a function prints from what it returns; the two are unrelated channels.

How to trace it

  1. Find every return in the function; if none executes on this input, the call evaluates to None.
  2. Distinguish print inside the function (goes to the screen immediately) from the return value (goes to the caller).
  3. Follow the call site: is the result assigned, printed, or discarded?
  4. A bare 'return' with no expression also yields None β€” same as falling off the end.

Common wrong fixes

Rule to remember

No executed return means the caller receives None. What a function prints and what it returns are independent β€” trace them separately.

Solve it in the interactive editor β†’

🧩 Learning path: Functions

Problem 6 of 12 in this path. Work them in order β€” each one builds on the rule before it.

← Default parameter valuesNext in path: Multiple return values β†’

More functions problems

Keep going