Level 5 : What will be the output of the following code snippet?


def countdown(n):
    if n <= 0:
        print("Done!")
    else:
        print(n)
        countdown(n - 1)

countdown(3)

Author: SandhyaR | Tags: recursion | 1859+ Python FAQs | Share
print | method-overloading | max-min | logical-operator | min-function | mutable | mapping-function | list-join | basic | object-attribute | counter-function | access-modifier | list-method | descriptors | binary | heap-memory | boolean | else-statement | polymorphism | pseudocode | datatype | data-type | complex | single-inheritance | membership-operators-(in,-not-in) | anchors-(^,-$) | tuples | recursion | boolean-and-non-boolean | call | escape-operator | asyncio | bitwise-operator | syntax-error | global-keyword | data-type | python | formatting-with-strftime | staticmethod | statement | string-methods | managing-directories-with-os-and-shutil | while-loop | default-mutable-argument | for | multiprocessing | arithmetic-operation | encapsulation | booleans | factorial-function | why-use-multiprocessing-over-threading?-(gil) | namespace | generator | assignment-operators | sys-module | class-and-inheritance | indexing:-loc-vs-iloc | filtering-and-indexing | numpy | split | identity-operators-(is,-is-not) | type-conversion-and-casting | compute | enumerate() | error-handling | arithmetic-expression | list-comprehension | operations | string-method | def | __init_subclass__ | method | string-concatenation | inherit | arbitrary-arguments-(*args,-**kwargs) | library | creating-and-starting-threads | integer | string-slicing | operand | shallow-copy | objects | swapping | lists | global-variable | reading:-read(),-readline(),-readlines() | set-operation | string-iteration | using-map()-for-transformations | static-method | dictionary-comprehensions | built-in-function | operator | round | head-and-tail | opening-files-(open()) | python-repl | joining-and-merging-dataframes | input-function | yield | filter-function | init | virtual-environment | pass | intering | syntax-error | mathematics | higher-order-function | iterable | sum() | benefit | test-discovery | using-else-and-finally | iterators | input-function | multiple-except-blocks | syntax | indentation | string-manipulation | inheritance | string-slicing | thread-safe-data-structures-(queue.queue) | assert | control-statement | overflow | threading | difference-between-threads-and-processes | type-conversion | magic-method | range | mysql | functions | using-os-and-pathlib-modules | application | list-mutation | encoding | math | indexing | invalid-list | version-check | deep-copy | format | exception-handling | operator-or | data-structures | string | package-management | generators | type_conversion | precedence | zfill-function | memory-management | copy | class | collections | thread-synchronization | identity-operator | print-statement | handling-missing-values-(fillna,-dropna) | int | join | overriding-methods | class-and-instance-variable | rollback | loop | assignment-operator | loop-control | __all__-attribute | id-function | file | introduction-to-python | generators-in-python | mathematical-function | asyncio-module | lambdas | while-else-loop | slicing | matplotlib | lambda-function | random-function | __future__ | feature | variable | exception-handling | operator-and | pandas | type-conversion | global | defining-functions | collection | min-max-function | nested-loop | control-flow | multithreading | constructor | conditional-statement | array | using-yield-in-functions | data-type-conversions | name-mangling | built-in-modules | sorting | loops | command-line-parsing | class-decorators | key-value-pairs | import-method | else | formal-and-actual-parameter | list-comprehensions | identifier | error | file-handling | methods | immutability | datetime | tuple | design-principle | fabs-function | exception | software-design | parameter | operators | center | boolean-masking | matrix | classes | using-assertions-(assertequal,-assertraises) | regular-expressions | python_version | python-module | data-structure | slice | async | aggregating-data-with-functools.reduce() | introduction-to-multiprocessing | turtle | raise | literal-characters-and-special-characters | docstring | comparison | identity-operator | tuple-methods | creating-custom-modules | math-copysign | while-and-for-loop | input | time-series-with-pandas | installation | sum-function | python-django | conditional-statements | complex-number | bitwise-operator | interpreter | odd-number | pickling--unpickling | list-operation | reading-and-writing-files | lambda-functions | built-in-function | operator-overloading | update | control-flow | random | function | string-method | lambda | thread | raise-statement | return-statement | choice | global-variable | comment | regular-expression | binary-operation | bitwise | oop | set | keyword | version | syntaxerror | postfix | list,-set,-and-dictionary-comprehensions | zip-function | debugging | frozenset | attribute | comprehension | advanced-file-operations | file_handling | dictionary | dicts | multiple-inheritance | logical-operator | gil | list-methods-and-slicing | built-in | using-the-threading-module | multiple-inheritance | implementation | list | virtual-environment | append | condition | data_structure | list-comprehension | introduction-to-threads | working-with-file-paths | list-vs-tuple | counter | conversion | list-indexing | namedtuple | logical-operation | integers | regex | context-manager | data-structure | with-statement | decorator | string-formatting | round-function | typeerror | while-loops | tuple-unpacking | precedence-and-associativity | python-history | recurssion | iterator | working-with-binary-files-(rb,-wb) | unit-testing | data-structures-in-python | working-with-temporary-files-using-tempfile | immutable-data-type | conditional-statement | exponentiation | zip | sets | dictionary-methods | loop-control-statements | floats | file-handling | decimal | floating-point-precision | pep | using-lists-as-stacks | data-types | function-and-scope | default-arguments | memory | list-slicing | sorted | strings | using-join()-and-is_alive()-methods | touples | string-formatting | error-handling | scientific-notation | oops | dictionaries | sorting-and-ranking | goto-function | sys | match | functional-programming | map-function | reading-and-writing-large-files-efficiently | dataframe-and-series-objects | directory-operations | expression | writing:-write(),-writelines() | destructor | quantifiers-(*,-+,-?,-{}) | walking-through-directories-using-os.walk() | python-operators | expand-tab | module | working-with-dates-and-times | function-argument | stack | parsing-with-strptime | filter | numeric | logical-operators | python-syntax-and-structure | class-and-object | datetime.date,-datetime.time,-datetime.datetime | matrix-list-comprehension | functional-programming ...