Practice Set 7 (Recursion, Function) Q16-20

Duration: 8 min

This video lesson is available to enrolled students.

Return to /learn/BIHAR-STET-COMPUTER-SCIENCE-COMPLETE-COURSE/unit-16-python/functions-modules/scope-flow/asset-practice-set-7-recursion-function-q16-20 after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. About the course: About the Course
  2. Mathematical Aptitude: Number System, HCF LCM, Divisibility Rules, Percentage, Ratio and Proportion (Ratios), Average, Profit and Loss, Time and Work, Mensuration and Geometry, Simple Interest and Compound Interest, Speed Time and Distance, Age Problems, Mixture and Alligation, Algebra, Powers and Exponents (Surds and Indices), Pipe and Cistern, Trigonometry, Statistics, Data Interpretation, Arithmetic
  3. Logical Reasoning: Series (Number and Letter Series) (Numerical Relations and Reasoning), Coding Decoding, Analogy, Blood Relations, Directions (Direction Test), Ranking, Order and Sequence, Non Verbal Reasoning (Spatial Aptitude) (Spatial Reasoning) (Visual Reasoning), Seating Arrangements, Syllogisms, Venn Diagram, Puzzle Solving (Puzzles), Logical Sequence Of Words, Deductive and Inductive Reasoning (Logical Deduction and Induction) (Prepositional Reasoning), Analytical Reasoning (Counting Figures Reasoning), Cubes & Dices, Calendar, Clock
  4. General Knowledge: Physics, Chemistry, Biology, History, Geography, Polity, Indian Economy, GK- Current Affairs, Static General Knowledge
  5. Art of Teaching: Nature, Objectives & Characteristics of Teaching, Learners & Learning Process, Factors Affecting Teaching, Methods of Teaching, Classroom Management & Communication, Teaching-Learning Aids & ICT Integration, Evaluation, Assessment & Measurement, Professional Development & Ethics, Policies, Acts & Contemporary Issues, Curriculum & School Environment, Guidance, Counselling & Mental Health, Inclusive Education & Special Needs, Micro-Teaching & Teaching Skills, Lesson Planning
  6. Environmental Science: Environment
  7. Unit 1 | Digital Electronics: Digital Systems & Boolean Basics, Logic Gates & Hardware, Boolean Expression, Boolean Minimization, Combinational Circuit, Sequential Circuits, Number System, Number Representation
  8. Unit 2 | COA: Basics of COA, Floating Point Rep, Cache Memory Organization, Input Output Organisation, Instr Formats & Modes, Control Unit Design, Register Transfer and Microoperations, Programming the Basic Computer
  9. Unit 3 | C Programming: C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling
  10. Unit 3 | Data Structures: Introduction to DS, Array, Stack, Queue, Linked List, Tree, Graphs, Hashing
  11. Unit 4 | Algorithms: Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms
  12. Unit 5 | Operating System: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory, Disc Scheduling, File Management
  13. Unit 6 | Database Management System: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, SQL, Transaction Management, Concurrency Control
  14. Unit 7 | Computer Networks: Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer
  15. Unit 8 | Software Engineering: Fundamentals of Software Engineering, Software Requirements and Quality Assurance, Software Design, Estimation and Metrics, Software Testing, Software Maintenance and Configuration Management
  16. Unit 9 | Object Oriented Programming: OOPS with C++
  17. Unit 10 | Web Development: HTML Basics, CSS, JavaScript-Basics, XML
  18. Unit 11 | Theory Of Computation: Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Grammar, Regular Language Properties, Moore & Mealy Machines, Pushdown Automata & CFG, Turing Machines
  19. Unit 12 | IoT: Emerging Tech Trends, Cloud Computing
  20. Unit 13 | Artificial Intelligence: Approaches to AI, Search Algorithms, Game Playing, Knowledge Representation, Natural Language Processing, Artificial Neural Networks, Genetic Algorithms
  21. Unit 14 | E-Commerce: Electronic Data Interchange and E-Commerce, Role of Internet and Web Services, Security in Mobile and Wireless Computing, Physical Security and Cryptography Basics, Cyber Safety and Security
  22. Unit 15 | Multimedia: Multimedia
  23. Unit 16 | Python: Introduction to Python, Tokens, Variables, Data Types, I/O, Operators & Expressions, Control Flow & Looping, Collections & Strings, Functions & Modules, File Handling & Data Analysis, DSA using Python
  24. Full Length Mock Tests — General Paper:
  25. Full Length Mock Tests — Computer Science (Paper II):
AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This video is a lecture on Python programming, focusing on solving a series of practice questions from a document titled 'Python Practice Question Sheet.pdf'. The instructor, a man in a dark blue shirt, uses a digital whiteboard to explain the logic and execution of various Python functions. The session begins with Question 16, which involves a recursive function to calculate the factorial of 6, with the instructor demonstrating the step-by-step recursion process. The video then transitions to Question 17, where the instructor analyzes a function that uses the `isinstance` function to check if an argument is a set, and then calls `len` on it. The final segment covers Question 18 and Question 20, both of which involve recursive functions that manipulate lists. For Question 18, the function `f(n)` returns a list of numbers from n down to 1. For Question 20, the function `f(l, n)` recursively builds a list by taking the first element of the list `l` and appending the result of a recursive call with the rest of the list and a decremented `n`. The instructor uses on-screen diagrams and handwritten calculations to illustrate the recursive calls and their return values, providing a clear, step-by-step walkthrough of each problem.

Chapters

  1. 0:00 – 2:00 00:00-02:00

    The video starts with Question 16, which presents a recursive function `f(n)` defined as `return 1 if n==0 else n * f(n-1)`. The instructor explains that this is a factorial function and proceeds to calculate `f(6)`. He writes out the recursive expansion on the board: `6 * f(5)`, `5 * f(4)`, and so on, down to `1 * f(0)`. He then calculates the final result as `6 * 5 * 4 * 3 * 2 * 1 = 720`. The on-screen text clearly shows the function definition and the question `print(f(6))`. The instructor uses a yellow marker to draw arrows and write the calculation steps, visually demonstrating the recursion process.

  2. 2:00 – 5:00 02:00-05:00

    The instructor moves to Question 17, which defines a function `f(x)` that checks if `x` is an instance of a set using `isinstance(x, set)`. If true, it returns the length of `x`. The function is then called with `f([1,2,3])`. The instructor explains that a list is not a set, so the condition `isinstance([1,2,3], set)` is false. The function then calls `f(set(x))`, which converts the list to a set `{1,2,3}`. The function is called again with this set, and since `isinstance({1,2,3}, set)` is true, it returns `len({1,2,3})`, which is 3. The instructor writes `f([1,2,3])` and then `f(set([1,2,3]))` on the board, showing the transformation. The on-screen text shows the function definition and the print statement `print(f([1,2,3]))`. The instructor concludes that the output is 3, which corresponds to option (a).

  3. 5:00 – 7:47 05:00-07:47

    The video transitions to Question 18, which defines a function `f(n)` that returns a list. The function returns `[n] + f(n-2)` if `n > 0`, and returns an empty list `[]` if `n == 0`. The instructor demonstrates the recursion for `f(7)`. He writes `f(7)` and then `f(7) = [7] + f(5)`. He continues this process, writing `f(5) = [5] + f(3)`, `f(3) = [3] + f(1)`, and `f(1) = [1] + f(-1)`. Since `n = -1` is not greater than 0, `f(-1)` returns `[]`. The final result is `[7,5,3,1]`. The on-screen text shows the function and the print statement `print(f(7))`. The instructor then moves to Question 20, which defines a function `f(l, n)` that returns a list. The function returns `l[0] + f(l[1:], n-1)` if `n > 0`, and returns `[]` if `n == 0`. The instructor demonstrates `f([1,2,3,4], 2)`. He writes `f([1,2,3,4], 2) = [1] + f([2,3,4], 1)`. Then `f([2,3,4], 1) = [2] + f([3,4], 0)`. Since `n == 0`, `f([3,4], 0)` returns `[]`. The final result is `[1,2]`. The on-screen text shows the function and the print statement `print(f([1,2,3,4], 2))`. The instructor uses the board to draw the recursive calls and their results.

The video provides a comprehensive walkthrough of several Python programming problems, emphasizing the core concept of recursion. The instructor systematically breaks down each question, starting with a clear explanation of the function's logic, followed by a step-by-step trace of the recursive calls. The use of a digital whiteboard to visually map out the recursion tree and calculate intermediate values is a key teaching method. The problems cover different aspects of recursion: calculating a mathematical function (factorial), manipulating data types (converting a list to a set), and building a list from a sequence. The progression from simple mathematical recursion to more complex list manipulation demonstrates a well-structured learning path, helping students understand how to approach and solve recursive problems in Python.

Loading lesson…