Nisha Sharma's profileExpert

Nisha Sharma

Technical Content Writer @Programiz

Answered 9 questions


About

Hi, I'm Nisha, Technical Content Writer at Programiz. I’m a computer engineer currently pursuing my Master’s in Computer Systems and Knowledge Engineering. I enjoy turning complex ideas into simple words—and I’m always curious, reading, and learning along the way.

Answered by Nisha Sharma
Spaidafora
last month
Spaidaforacountry asked
N
Expert
last month
Nisha Sharma answered

Yes. A catch block only runs if something is thrown inside the try block.

In your example, throw 0; is what triggers the exception. When denominator == 0, the program throws 0, skips the remaining lines in the try block, and jumps straight to:

catch (int num) { ... }

If the denominator isn’t 0, nothing gets thrown, so the catch block is skipped and the program continues normally.

Feel free to reach out if you have any more queries.

C++
This question was asked as part of the Learn C++ Intermediate course.
Ambika Pravin Sonawane
PRO
last month
Ambikacountry asked
N
Expert
last month
Nisha Sharma answered

Hello! enumerate() is just a simple Python helper that lets you loop through a list and get two things at once:

  1. the index (position) of an element

  2. the value (the actual item) of the element

Example:

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits):
    print(index, fruit)

Output:

0 apple
1 banana
2 cherry

So instead of manually keeping a counter yourself, Python does it for you.

And I see that you've asked this question based on the code below:

def two_sum(num_list, target_value):
    
    dictionary = {}

    for index, value in enumerate(num_list): 
        # add items of num_list to dictionary
        # value as key and index as value
        dictionary[value] = index
    
    for i in range(len(num_list)):
        complement = target_value - num_list[i]
        
        # check if item's complement is present in dictionary
        if complement in dictionary and dictionary[complement] != i:
            
            # return element index and complement's index
            return [i, dictionary[complement]]
    
num_list = [2, 7, 11, 15]
target_value = 9

result = two_sum(num_list, target_value)
print(result)   

In the two_sum() function, enumerate(num_list) is used because you need both the number and where it sits in the list (its index) to store and return the answer.

Hope that helps. Feel free to ping if you need more help or have any more questions.

Python
This question was asked as part of the Complexity Calculation course.
N
Expert
last month
Nisha Sharma answered

If the table already exists but the columns are different, CREATE TABLE IF NOT EXISTS won’t try to “fix” or update anything. It simply checks: does a table named Customers already exist? If yes, it stops right there.

So what this really means is:

  • No error is thrown

  • No changes are made

  • The existing table stays exactly as it is, even if your new CREATE TABLE statement has different columns

If you actually want to change the table’s structure (add/remove columns, change data types, etc.), you’d use something like ALTER TABLE, or you’d drop and recreate the table if that’s appropriate for your setup.

Hope that helps. Feel free to reach out if you have any more questions.

SQL
This question was asked as part of the Learn SQL Basics course.
N
Expert
last month
Nisha Sharma answered

If you try to write two print() statements on the same line, Python needs a clear separator between them. Without one, Python won’t know where the first print() ends and the next one begins, so you’ll get a syntax error.

For example, this won’t work:

print("Hello") print("World")

But this works perfectly, because the semicolon ; separates the two commands:

print("Hello"); print("World")

You’ll see:

Hello
World

Hope that helps. Feel free to ping if you need more help or have any more questions.

Python
This question was asked as part of the Learn Python Basics course.
N
Expert
last month
Nisha Sharma answered

Hello there, good question.

Yep, it still works the same. input() always takes what the user types and gives it back as a string. Adding something like input("Enter temperature in Celsius: ") only shows a message on the screen. It doesn’t change how the value is stored.

So:

  • x = input()x is a string

  • x = input("...")x is still a string

That’s why we usually do float(input()) here, so you can actually do the Celsius-to-Fahrenheit math.

Feel free to reach out if you have any more queries.

Python
This question was asked as part of the Learn Python Basics course.
N
Expert
last month
Nisha Sharma answered

Hello there!

Indentation is a common pain point in Python because it’s not just style, it’s part of the syntax. A few rules will save you a lot of errors:

  • For blocks that end with : (like if, for, while, def), the very next line must be indented.

  • Everything inside that block must line up at the same indentation level.

  • Nested blocks go one level deeper (usually 4 spaces).

  • Don’t mix tabs and spaces. Pick one (4 spaces is the standard) and stick to it.

Example:

for i in range(1, n + 1):      # level 0
    if i % 2 == 0:             # level 1
        continue               # level 2 (inside the if)
    print(i)                   # level 1 (outside the if)

If you keep getting errors, it’s usually one line that’s slightly misaligned or tabs are sneaking in. Feel free to reach out if you have any more queries.

Python
This question was asked as part of the Learn Python Basics course.
N
Expert
last month
Nisha Sharma answered

Hello there, good question.

Yes, Python does have some pretty standard naming conventions, and following them makes your code way easier to read (especially when you come back to it later).

  • Use clear, specific names

    • Good: favorite_food, total_price, student_count

    • Not so good: x, temp, data (unless it truly is temporary or generic)

  • Use snake_case for variables

    • Python style is lowercase words separated by underscores (known as snake_case):

    • favorite_food instead of favoriteFood

  • Don’t use Python keywords

    • You can’t name variables things like class, def, if, for, etc.

    • If you really need something close, people often do: class_ (with an underscore at the end)

  • Be consistent with casing

    • Python treats score, Score, and SCORE as different names.

    • Most variables stay lowercase: score, high_score, max_score

  • Special naming patterns you’ll see a lot

    • Constants (values you don’t plan to change): MAX_SPEED, PI, TAX_RATE

    • “Private” / internal use (a hint to other programmers): _hidden_value

    • Avoid names that look like built-ins: don’t name a variable list, str, or sum (you’ll overwrite the built-in function by accident)

If you stick to descriptive names + snake_case, your code will instantly look more professional and be easier to understand.

Feel free to reach out if you have any questions.

Python
This question was asked as part of the Learn Python Basics course.
N
Expert
last month
Nisha Sharma answered

Hello there, nice question!

The double slash // is used in Python for integer division. Unlike the single slash /, which returns a decimal value, // divides the numbers and gives the result as a whole number. Since the formula for the sum of natural numbers always results in an integer, using // helps keep the output clean and avoids unnecessary decimal points.

Feel free to reach out if you have any more queries.

Python
This question was asked as part of the DSA with Python course.
N
Expert
last month
Nisha Sharma answered

Hello there! Yes, you can replace ++index with index++ in your loop without affecting the output in this case. Both of these operators are used to increment the value of index by 1.

But they work slightly differently in terms of when the increment happens:

  • ++index (pre-increment): This increments index before its value is used in the current expression.

  • index++ (post-increment): This increments index after its current value is used in the expression.

However, in the context of your for loop:

for (int index = 0; index < 5; index++) {
    printf("%d\n", numbers[index]);
}

You won't notice a difference because index is being evaluated only for the loop condition (index < 5) before entering the loop body. In a loop like this, both pre-increment and post-increment will yield the same output when printing the elements of the array:

1
2
3
4
5

So, you can use either style; you just might prefer one for readability or personal habit. Keep practicing, and let me know if you have any more questions!

C
This question was asked as part of the Learn C Programming course.